Debian

75 results back to index


pages: 678 words: 159,840

The Debian Administrator's Handbook, Debian Wheezy From Discovery to Mastery by Raphaal Hertzog, Roland Mas

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

bash_history, Debian, distributed generation, en.wikipedia.org, failed state, Firefox, GnuPG, Google Chrome, Jono Bacon, NP-complete, QWERTY keyboard, RFC: Request For Comment, Richard Stallman, Skype, SpamAssassin, Valgrind, web application, x509 certificate, zero day, Zimmermann PGP

Repositories for Testing/Unstable Users Here is a standard sources.list for a system running the Testing or Unstable version of Debian: Example 6.2. /etc/apt/sources.list file for users of Debian Testing/Unstable # Unstable deb http://ftp.debian.org/debian unstable main contrib non-free deb-src http://ftp.debian.org/debian unstable main contrib non-free # Testing deb http://ftp.debian.org/debian testing main contrib non-free deb-src http://ftp.debian.org/debian testing main contrib non-free # Stable deb http://ftp.debian.org/debian stable main contrib non-free deb-src http://ftp.debian.org/debian stable main contrib non-free # Security updates deb http://security.debian.org/ stable/updates main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ stable/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free With this sources.list file APT will install packages from Unstable.

Repositories for Stable Users Here is a standard sources.list for a system running the Stable version of Debian: Example 6.1. /etc/apt/sources.list file for users of Debian Stable # Security updates deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free ## Debian mirror # Base repository deb http://ftp.debian.org/debian wheezy main contrib non-free deb-src http://ftp.debian.org/debian wheezy main contrib non-free # Stable updates deb http://ftp.debian.org/debian wheezy-updates main contrib non-free deb-src http://ftp.debian.org/debian wheezy-updates main contrib non-free # Stable backports deb http://ftp.debian.org/debian wheezy-backports main contrib non-free deb-src http://ftp.debian.org/debian wheezy-backports main contrib non-free This file lists all sources of packages associated with the Wheezy version of Debian (the current Stable as of this writing).

→ http://www.spi-inc.org/ In addition to SPI, various local associations collaborate closely with Debian in order to generate funds for Debian, without centralizing everything in the U.S.A: they are known as “Trusted Organizations” in the Debian jargon. This setup avoids prohibitive international transfer costs, and fits well with the decentralized nature of the project. While the list of trusted organizations is rather short, there are many more Debian-related associations whose goal is to promote Debian: Debian France, Debian-UK, Debian-ES, debian.ch, and others around the world. Do not hesitate to join your local association and support the project! → http://wiki.debian.org/Teams/Auditor/Organizations → http://france.debian.net/ → http://wiki.earth.li/DebianUKSociety → http://www.debian-es.org/ → http://debian.ch/ 1.2. The Foundation Documents A few years after its initial launch, Debian formalized the principles that it should follow as a free software project.


pages: 398 words: 107,788

Coding Freedom: The Ethics and Aesthetics of Hacking by E. Gabriella Coleman

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Benjamin Mako Hill, crowdsourcing, Debian, dumpster diving, en.wikipedia.org, financial independence, ghettoisation, Hacker Ethic, informal economy, Jacob Appelbaum, Jaron Lanier, Jason Scott: textfiles.com, Jean Tirole, knowledge economy, laissez-faire capitalism, Louis Pasteur, means of production, Paul Graham, pirate software, popular electronics, RFC: Request For Comment, Richard Stallman, rolodex, Ronald Reagan, Silicon Valley, Silicon Valley startup, slashdot, software patent, software studies, Steve Ballmer, Steven Levy, Ted Nelson, the scientific method, The Structural Transformation of the Public Sphere, web application, web of trust

See Usenet Cabal FAQ, http://www.subgenius.com/bigfist/hallscience/computers/X0012_Internet_History.html (accessed July 26, 2011). 13. http://lists.debian.org/debian-devel/2005/03/msg02062.html (accessed July 10, 2011). 14. http://www.mail-archive.com/debian-vote@lists.debian.org/msg08500.html (accessed July 26, 2011). 15. http://lists.debian.org/debian-project/2005/03/msg00142.html (accessed July 26, 2011). 16. http://www.debian.org/devel/tech-ctte (accessed July 26, 2011). 17. Ibid. 18. To contain the sprawling size of this chapter, I am not providing an example of one of these legendary bugs or how debate over technical issues becomes a place where questions of authority are raised. This must be left for another time. For two such legendary Debian bugs, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=97671 (accessed July 28, 2011); http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143825 (accessed July 28, 2011).

For example, at Debconf4, the few women attending, spearheaded by the efforts of Erinn Clark, used the time and energy afforded by an in-person meeting to initiate and organize Debian Women Project, a Web site portal and IRC mailing list to encourage female participation by visibly demonstrating the presence of women in the largely male project. Following the conference, one of the female Debian developers, Amaya Rodrigo, posted a bug report calling for a Debian Women’s mailing list, explaining the rationale in the following way: From: Amaya Rodrigo Sastre <amaya@debian.org> To: Debian Bug Tracking System <submit@bugs.debian.org> Subject: Please create debian-women mailing list Date: Tue, 01 Jun 2004 22:12:30 +0200 Package:lists.debian.org Severity: normal Out of a Debconf4 workshop the need has arisen for a mailing list oriented to debating and coordinating the different ways to get a larger female userbase.

This applicant, responding to the question “Please explain the key points of the Social Contract and the DFSG—in your own words,” remarks: The Social Contract is the commitment the Debian project makes to its members and users. It is about fostering a community so committed to software freedom, so open, and so supportive that no one would have need to go elsewhere. Debian’s members and users benefit from the fact that Debian is completely free software and that nothing in the Debian process is hidden from them. Debian also provides an outlet for new free software and a “channel” for contributing changes back to the original developers. It also takes the realistic view that some users may still be using non-free software and that providing this software actually helps Debian’s users and indirectly the free software community. The Debian Free Software Guidelines is the set of concrete rules that help determine if a piece of software complies with the Social Contract and the Project’s goals.


pages: 234 words: 57,267

Python Network Programming Cookbook by M. Omar Faruque Sarker

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

business intelligence, cloud computing, Debian, DevOps, Firefox, inflight wifi, RFID, web application

The following output shows a telnet session executed on a Debian machine: $ python 7_1_execute_remote_telnet_cmd.py Enter remote hostname e.g. localhost: localhost Enter your remote account: faruq Password: ls exit Last login: Mon Aug 12 10:37:10 BST 2013 from localhost on pts/9 Linux debian6 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have new mail. faruq@debian6:~$ ls down Pictures Videos Downloads projects yEd Dropbox Public env readme.txt faruq@debian6:~$ exit logout How it works... This recipe relies on Python's built-in telnetlib networking library to create a telnet session.

Otherwise, you can modify the remote_server() function and point it to a remote server, as follows: $ fab remote_server login [127.0.0.1] Executing task 'login' Linux debian6 2.6.32-5-686 #1 SMP Mon Feb 25 01:04:36 UTC 2013 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have new mail. Last login: Wed Aug 21 15:08:45 2013 from localhost cd /tmp faruq@debian6:~$ cd /tmp faruq@debian6:/tmp$ <CTRL+D> faruq@debian6:/tmp$ logout Done. Disconnecting from 127.0.0.1... done. $ fab remote_server download_file [127.0.0.1] Executing task 'download_file' Checking local disk space...

The extra output is shown because we enabled the e-mail debug level. $ python 5_3_email_current_dir_zipped.py --recipient=faruq@localhost Zipping current dir: /home/faruq/Dropbox/PacktPub/pynet-cookbook/pynetcookbook_code/chapter5 Creating email message... Sending email message... send: 'ehlo [127.0.0.1]\r\n' reply: '250-debian6.debian2013.com\r\n' reply: '250-PIPELINING\r\n' reply: '250-SIZE 10240000\r\n' reply: '250-VRFY\r\n' reply: '250-ETRN\r\n' reply: '250-STARTTLS\r\n' reply: '250-ENHANCEDSTATUSCODES\r\n' reply: '250-8BITMIME\r\n' reply: '250 DSN\r\n' reply: retcode (250); Msg: debian6.debian2013.com PIPELINING SIZE 10240000 VRFY ETRN STARTTLS ENHANCEDSTATUSCODES 8BITMIME DSN send: 'mail FROM:<you@you.com> size=9141\r\n' reply: '250 2.1.0 Ok\r\n' reply: retcode (250); Msg: 2.1.0 Ok send: 'rcpt TO:<faruq@localhost>\r\n' reply: '250 2.1.5 Ok\r\n' reply: retcode (250); Msg: 2.1.5 Ok send: 'data\r\n' reply: '354 End data with <CR><LF>.


pages: 234 words: 63,522

Puppet Essentials by Felix Frank

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

cloud computing, Debian, DevOps, domain-specific language, Infrastructure as a Service, platform as a service, web application

It can run your Puppet master through Passenger as well, so you don't need to install Apache. Unfortunately, the stock version of Nginx cannot run Passenger through a module. The Phusion project supplies packages for the more popular Linux distributions, but only those that are for Debian and Ubuntu are current. On Red Hat derivatives, you will need to build Nginx yourself. Supporting packages that make this easy are available. The following instructions are applicable to Debian: 1. Follow the instructions at https://www.phusionpassenger.com/ documentation/Users%20guide%20Nginx.html#install_on_debian_ ubuntu in order to install appropriate Nginx packages. 2. In the /etc/nginx/nginx.conf file, uncomment or insert the passenger specific statements: passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/ locations.ini; passenger_ruby /usr/bin/ruby; 3.

An example is shown in the following code: file { '/etc/my-secret': ensure => 'file', mode => '600', owner => 'root', source => "puppet:///modules/secrets/$clientcert/key", } [ 52 ] Chapter 3 There is a whole group of facts to describe the operating system. Each fact is useful in different situations. The operatingsystem fact takes values such as Debian or CentOS: if $operatingsystem != 'Ubuntu' { package { 'avahi-daemon': ensure => absent } } If your manifest will behave identical for RHEL, CentOS, and Fedora (but not on Debian and Ubuntu), you will make use of the osfamily fact instead: if $osfamily == 'RedHat' { $kernel_package = 'kernel' } The operatingsystemrelease fact allows you to tailor your manifests to differences between the versions of your OS: if $operatingsystem == 'Debian' { if versioncmp($operatingsystemrelease, '7.0') >= 0 { $ssh_ecdsa_support = true } } Facts such as macaddress, the different SSH host keys, fingerprints, and others make it easy to use Puppet for keeping inventory of your hardware.

The following example illustrates the use of the function in the simple version of cacti::device without the ensure parameter: define cacti::device($ip) { $cli = '/usr/share/cacti/cli' $c_ip = cacti_canonical_ip($ip) $options = "--description='$name' --ip='$c_ip'" exec { "add-cacti-device-$name": command => "$cli/add_device.php $options", require => Class[cacti], } } [ 127 ] Extending Your Puppet Infrastructure with Modules The manifest will then fail to compile if an IP address has (conveniently) transposed digits: ip => '912.168.12.13' IPv6 addresses will be converted to all lowercase letters. Making your module portable across platforms Sadly, our Cacti module is very specific to the Debian package. It expects to find the CLI at a certain place and the Apache configuration snippet at another. These locations are most likely specific to the Debian package. It will be useful for the module to work on Red Hat derivatives as well. The first step is to get an overview of the differences by performing a manual installation. I chose to test this with a virtual machine running Fedora 18. The basic installation is identical to Debian, except using yum instead of apt-get, of course. Puppet will automatically do the right thing here. The puppet::install class also contains a CLI file, though. The Red Hat package installs the CLI in /var/lib/ cacti/cli rather than /usr/share/cacti/cli.


pages: 996 words: 180,520

Nagios: System and Network Monitoring, 2nd Edition by Wolfgang Barth

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

business process, Debian, en.wikipedia.org, Firefox, RFC: Request For Comment, web application

-t timeout / --timeout=timeout After timeout (by default, 10) seconds the plugin breaks off the test and returns the CRITICAL state. The following example in turn tests the Secure Shell daemons on the local computer and on wobgate, to see whether the current SSH version from Debian Etch is being used: nagios@linux:nagios/libexec$ ./check_ssh -H localhost \ -r 'OpenSSH_4.3p2 Debian-9' SSH OK - OpenSSH_4.3p2 Debian-9 (protocol 2.0) nagios@linux:nagios/libexec$ ./check_ssh -H wobgate -r \ 'OpenSSH_4.3p2 Debian-9' SSH WARNING - OpenSSH_3.8.1p1 Debian-8.sarge.6 (protocol 2.0) version mi smatch, expected 'OpenSSH_4.3p2 Debian-9' The latest version of SSH is not in use on wobgate. In heterogeneous environments with various Linux distributions, you will usually use version checking "manually" only for plugin calls, and only rarely integrate them into the Nagios configuration.

For the database you require a current MySQL-5.0 server (included in the Debian package mysql-server-5.0, for example), and for the syslog-ng2mysql.pl daemon written in Perl, the module DBD::MySQL (in Debian, the package libdbd-mysql-perl). The Web interface is implemented in PHP 5. This requires, along with Apache 2, the PHP-5 module for this server version (in Debian libapache2-mod-php5) and the PHP5-MySQL package (in Debian, php5-mysql). An automatic installation routine that checks that all required packages are present is not included in EventDB. If the SNMPTT, to be described later in 23.7 Making the Incomprehensible Legible with SNMPTT, is to be integrated, then you will also require the daemons snmpd and snmptrapd, as well as the accompanying client programs. Debian provides these programs in the packages snmpd and snmp.

In order for this user to access certain protected areas of Nagios, an additional group is required, the so-called Nagios Command Group nagcmd. Only the Web user and the user nagios should belong to this group. The Web user can be determined from the Apache configuration file. In Debian/Ubuntu this is located at /etc/apache2/apache2.conf; in Fedora it is at /etc/httpd/httpd.conf: linux:~ # grep "^User" /etc/apache2/apache2.conf User www-data The user determined in this way (in Debian/Ubuntu www-data, in Open-SUSE www-run, and in Fedora httpd) is additionally assigned to the group nagcmd, shown here using the example for Debian/Ubuntu: linux:~ # usermod -G nagcmd www-data In the example, the Web user is called www-data. The command usermod (this changes the data for an existing user account) also includes the Web user in the nagcmd group thanks to the -G option, by manipulating the corresponding entry in the file /etc/group.

Multitool Linux: Practical Uses for Open Source Software by Michael Schwarz, Jeremy Anderson, Peter Curtis

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

business process, Debian, defense in depth, GnuPG, index card, indoor plumbing, optical character recognition, publish or perish, RFC: Request For Comment, Richard Stallman, SETI@home, slashdot, web application, x509 certificate

The most common tree structure under a Web server looks something like this: /<basedir> Debian uses "/var/www" \ |-- cgi-bin Debian keeps these in /usr/lib/cgi-bin |-- htdocs (perhaps "html") Debian doesn't have this. |-- icons Depending on your distribution and options you may have installed, there may be several more directories at this level, such as logs, servlets and so on. Most distributions place some sort of standard content in this structure. Debian, for instance, puts up a slightly modified standard Apache postinstall index file. SuSE puts in a homepage with links to the online documentation and to pages that show the present system configuration. Other distributions will vary. For the purposes of this chapter, I'm going to assume a Debian file layout. As in Chapter 4, this choice was made through exhasutive analysis of which distribution offered the greatest pedagogical potential and also because I was using a Debian machine when I wrote this chapter.

You'll need a relatively recent Linux distribution. I recommend SuSE, because I really like their installer and runtime setup. One author prefers Debian—the most GNU-ish of the distributions. None of us particularly care for RedHat or Mandrake—both are unstable and needlessly different from the others. Something based on at least kernel 2.2 would sure be nice, because 2.2 has been the standard for a couple of years now. Kernel 2.4 is all good, too. And if you really like RedHat, or it's the only distribution you have, that's okay. It's still very usable. Everything in this book was tested on either SuSE, TurboLinux, or Debian—and most everything was tested on Debian. Three of the four authors of this book prefer Debian, and the remaining author is simply difficult to get along with. Web Sites The three big Web sites to get familiar with are: http://www.freshmeat.net/—an announcement site for GPL'ed and non-GPL'ed software projects http://www.sourceforge.net/ (another open-source repository) http://www.linuxdoc.org/—the core Linux documentation repository These are three fabulous places to go when you're either looking for software or trying to figure out how to use it.

Part of the price you pay for the labor of the original programmer is that everyone else shall benefit from your code. If you don't want to pay that price, fine. But then you don't get to use the original author's code. Eric Raymond and Bruce Perens Bruce Perens created the original Open Source Definition (OSD) as the Debian Free Software Guidelines (DFSG). Debian is a Linux distribution that consists entirely of software that meets these guidelines. Some Linux distributions include closed, commerical, or marginally open software. Debian never has and never will. Eric S. Raymond wrote a number of seminal papers on the phenomenon of what he and Bruce call open source development but what I think may be more generally called Internet-distributed software development. Eric tends to come to fairly far-reaching conclusions from a limited number of data points, but it doesn't change the fact that The Cathedral and the Bazaar has become what may be the single most influential essay on the whole phenomenon of free software.


pages: 319 words: 72,969

Nginx HTTP Server Second Edition by Clement Nedelcu

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, fault tolerance, Firefox, Google Chrome, web application

Note that since service httpd start and /etc/init.d/httpd start essentially do the same thing, with the exception that the second command will work on all operating systems, we will make no further mention of the service command and will exclusively use the /etc/init.d/ method. Init script for Debian-based distributions We will thus create a shell script for starting and stopping our Nginx daemon and also restarting and reloading it. The purpose here is not to discuss Linux shell script programming, so we will merely provide the source code of an existing init script, along with some comments to help you understand it. Due to differences in the format of the init scripts from one distribution to another, we will here discover two separate scripts: this first one is meant for Debian-based distributions such as Debian, Ubuntu, Knoppix, and so forth. [ 33 ] www.it-ebooks.info Downloading and Installing Nginx First, create a file called nginx with the text editor of your choice, and save it in the /etc/init.d/ directory (on some systems, /etc/init.d/ is actually a symbolic link to /etc/rc.d/init.d/).

At this point, you should already be able to start the service using service nginx start or /etc/init.d/nginx start, as well as stopping, restarting, or reloading the service. The last step here will be to make it so the script is automatically started at the proper runlevels. Unfortunately, doing this entirely depends on what operating system you are using. We will cover the two most popular families—Debian, Ubuntu, or other Debian-based distributions and Red Hat/Fedora/CentOS, or other Red Hat-derived systems. [ 34 ] www.it-ebooks.info Chapter 1 Debian-based distributions For the former, a simple command will enable the init script for the system runlevel: [root@example.com ~]# update-rc.d -f nginx defaults This command will create links in the default system runlevel folders. For the reboot and shutdown runlevels, the script will be executed with the stop argument; for all other runlevels, the script will be executed with start.

Simply use your login credentials for immediate access. [ FM-6 ] www.it-ebooks.info Table of Contents Preface 1 Chapter 1: Downloading and Installing Nginx 7 Setting up the prerequisites 7 GCC – GNU Compiler Collection 8 The PCRE library 9 The zlib library 10 OpenSSL 11 Downloading Nginx 11 Websites and resources 11 Version branches 13 Features 14 Downloading and extracting 15 Configure options 15 The easy way 16 Path options 16 Prerequisites options 18 Module options 20 Modules enabled by default Modules disabled by default 20 21 Miscellaneous options Configuration examples 22 24 Build configuration issues 26 Compiling and installing 27 About the prefix switch Regular HTTP and HTTPS servers All modules enabled Mail server proxy Make sure you installed the prerequisites Directories exist and are writable www.it-ebooks.info 24 25 25 26 26 27 Table of Contents Controlling the Nginx service Daemons and services User and group Nginx command-line switches Starting and stopping the daemon Testing the configuration Other switches Adding Nginx as a system service System V scripts What is an init script? Init script for Debian-based distributions Init script for Red Hat-based distributions Installing the script Debian-based distributions Red Hat-based distributions 28 28 28 29 29 30 31 31 32 33 33 34 34 35 35 Summary 36 Chapter 2: Basic Nginx Configuration Configuration file syntax Configuration Directives Organization and inclusions Directive blocks Advanced language rules 37 37 38 39 41 42 Directives accept specific syntaxes 42 43 Diminutives in directive values Variables 44 String values 44 Base module directives What are base modules?

Version Control With Git: Powerful Tools and Techniques for Collaborative Software Development by Jon Loeliger, Matthew McCullough

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

continuous integration, Debian, distributed revision control, GnuPG, pull request, revision control, web application, web of trust

closed repository, on GitHub, Publishing Your Repository to GitHub closed source, social coding on, Social Coding on Closed Source coding models, Coding Models–Coding Models collaboration, Publishing Repositories collision, Objects, Hashes, and Blobs, A Note on Git’s Use of SHA1 SHA1, Objects, Hashes, and Blobs colon (:), Dos and Don’ts in Branch Names, The refspec branch name restrictions and, Dos and Don’ts in Branch Names in refspec, The refspec combined diff format, A Merge with a Conflict, Finishing Up a Conflict Resolution for merge commit, Finishing Up a Conflict Resolution combining projects, Combining Projects–The git submodule Command command aliases, setting up, Configuring an Alias commands, making your own, Make Your Own Git Command commercial Git hosting service, Repository Publishing Advice commit author, configuring, Adding a File to Your Repository–Configuring the Commit Author commit graphs, Viewing Old Commits, Commit Graphs–Using gitk to View the Commit Graph, Using gitk to View the Commit Graph–Using gitk to View the Commit Graph gitk to view, Using gitk to View the Commit Graph–Using gitk to View the Commit Graph for history, Viewing Old Commits commit history, Using git filter-branch, Split a Repository power to rewrite, Using git filter-branch preserving when splitting repository, Split a Repository commit IDs, Identifying Commits–Relative Commit Names, Example: A Shallow Clone of a Single Branch, Keeping Your Commit IDs Straight–Keeping Your Commit IDs Straight, Removing SVN Commit IDs from git svn, Example: A Shallow Clone of a Single Branch removing SVN, Removing SVN Commit IDs commit log message, Configuration Files, Writing Commit Log Messages editor settings for, Configuration Files commit message, Example: A Shallow Clone of a Single Branch, Using git filter-branch, Using filter-branch to edit a commit message–Using filter-branch to edit a commit message editing, Using git filter-branch, Using filter-branch to edit a commit message–Using filter-branch to edit a commit message with git filter-branch, Using filter-branch to edit a commit message–Using filter-branch to edit a commit message git-svn-id in, Example: A Shallow Clone of a Single Branch commit objects, Git Object Types, Gitlinks links from, Gitlinks commit ranges, Commit Ranges–Commit Ranges, git diff and Commit Ranges–git diff and Commit Ranges, Generating Patches, Generating Patches–Generating Patches detailed resolution example, Generating Patches–Generating Patches and git diff command, git diff and Commit Ranges–git diff and Commit Ranges for git format-patch, Generating Patches commit rights, Publishing Repositories commit-filter, Using git filter-branch commit-msg hook, Hooks, Commit-Related Hooks commit-related hooks, Commit-Related Hooks–Commit-Related Hooks commits, Viewing Your Commits–Viewing Your Commits, Viewing Commit Differences, Object Store Pictures, Commits–Commits, Commits, File Management and the Index, Commits–Using Pickaxe, Identifying Commits–Relative Commit Names, Absolute Commit Names–Absolute Commit Names, Relative Commit Names–Relative Commit Names, Viewing Old Commits–Commit Ranges, Finding Commits–Using Pickaxe, Using git bisect, Forms of the git diff Command, Altering Commits–rebase Versus merge, Altering Commits, Caution About Altering History–Caution About Altering History, Using git revert, Changing the Top Commit–Changing the Top Commit, Changing the Top Commit, Rebasing Commits–rebase Versus merge, The Reflog, Changing Public History, Separate Commit and Publish Steps–Separate Commit and Publish Steps, Role Duality–Role Duality, Patches and Topological Sorts, Examining the Hashes of Submodule Commits, Recovering a Lost Commit–Reconnecting a Lost Commit, Reconnecting a Lost Commit, Garbage Collection, Tips for Recovering Commits altering, Altering Commits–rebase Versus merge, Altering Commits, Caution About Altering History–Caution About Altering History, Changing the Top Commit–Changing the Top Commit caution about, Caution About Altering History–Caution About Altering History most recent, Changing the Top Commit–Changing the Top Commit reasons for, Altering Commits creating, Commits–Commits dangling, Garbage Collection differences between, Forms of the git diff Command finding, Finding Commits–Using Pickaxe hashes of submodule, Examining the Hashes of Submodule Commits history, Viewing Old Commits–Commit Ranges, Changing Public History dynamic, Changing Public History identifying, Identifying Commits–Relative Commit Names, Absolute Commit Names–Absolute Commit Names, Relative Commit Names–Relative Commit Names with absolute names, Absolute Commit Names–Absolute Commit Names with relative names, Relative Commit Names–Relative Commit Names isolating one with bug, Using git bisect linearization of, Patches and Topological Sorts mechanisms for transferring commits, Role Duality–Role Duality meta-information on, editing, Changing the Top Commit rebasing, Rebasing Commits–rebase Versus merge reconnecting lost, Reconnecting a Lost Commit recovering lost, Recovering a Lost Commit–Reconnecting a Lost Commit separation of publish and, Separate Commit and Publish Steps–Separate Commit and Publish Steps symbolic names for, The Reflog tips for recovering, Tips for Recovering Commits as two-step process, File Management and the Index undoing effects, Using git revert viewing, Viewing Your Commits–Viewing Your Commits viewing details of, Commits viewing differences, Viewing Commit Differences community contributions to GitHub, transparency and public visibility, Forks comparison, A Note on Git’s Use of SHA1, Diffs (see also diffs; git diff command) of objects, hash function for, A Note on Git’s Use of SHA1 Concurrent Version System (CVS), Precedents, Creating an Initial Repository revision information, Creating an Initial Repository config, GitHub in Sum (see git config command) configuration files for Git, Configuration Files–Configuration Files, Configuration Files listing variable settings, Configuration Files configuring alias, Configuring an Alias conflict merge markers, Applying Patches conflicted files, locating, Locating Conflicted Files conflicts, A Merge with a Conflict (see merge conflicts) content tracking system, Git as, Git Tracks Content content, vs. pathname, Pathname Versus Content content-addressable file store, Precedents content-addressable names, Content-Addressable Names --continue option, for git rebase command, Rebasing Commits controlled access, publishing repositories with, Repositories with Controlled Access–Repositories with Controlled Access copying, importing subprojects by, Importing Subprojects by Copying core.logAllRefUpdates Boolean configuration option, The Reflog criss-cross merge, Merge Strategies, Recursive merges, Applying Merge Strategies curl-config tool, Building and Installing current repository, Remotes CVS (Concurrent Version System), Precedents, The Old Solution: Partial Checkouts, The Obvious Solution: Import the Code into Your Project importing code into project, disadvantages, The Obvious Solution: Import the Code into Your Project cvs update command, Merging Changes into a Different Branch Cygwin-based Git package, Installing the Cygwin Git Package installing, Installing the Cygwin Git Package D DAG (directed acyclic graph), Commit Graphs, Using gitk to View the Commit Graph drawing, Using gitk to View the Commit Graph dangling commits, Garbage Collection dangling objects, The git fsck Command data integrity of VCS, The Birth of Git data objects, immutability of, The Birth of Git date-based checkout, Date-Based Checkout–Date-based checkout cautions dcommit, Keeping Your Commit IDs Straight, Merging Back into Subversion, Reconstructing the git-svn Cache Debian environment, Assumed Framework, Debian/Ubuntu–Debian/Ubuntu installing Git, Debian/Ubuntu–Debian/Ubuntu default branch, in respository, Branch Names default message, from pre-commit-msg hook, Commit-Related Hooks default port, Referring to Remote Repositories, Publishing repositories using git-daemon for Git, Referring to Remote Repositories for inetd service, Publishing repositories using git-daemon degenerate merges, Degenerate Merges–Degenerate Merges deleting, Removing and Renaming Files in Your Repository, Deleting Branches–Deleting Branches, Updating and Deleting refs branches, Deleting Branches–Deleting Branches files from repositories, Removing and Renaming Files in Your Repository refs, Updating and Deleting refs deltas, between files, Pack Files depot repository, Example Using Remote Repositories, Getting Repository Updates–Should you merge or rebase?

git reset command, Aborting or Restarting a Merge, Aborting or Restarting a Merge, Using git reset–Using git reset, Using git reset, Using git reset, Using git reset, Using git reset–Using git reset, Using git reset, Using git reset, Using git reset, Using git reset, Using git reset, Using git reset, reset, revert, and checkout, The Stash, Merge Conflicts, Recovering a Lost Commit to eliminate topmost commit, Using git reset–Using git reset --hard, Aborting or Restarting a Merge, Aborting or Restarting a Merge, Using git reset, Using git reset, Using git reset, Using git reset, The Stash --hard ORIG_HEAD, Merge Conflicts and lost commit, Recovering a Lost Commit --mixed, Using git reset --soft, Using git reset, Using git reset, Using git reset, Using git reset git rev-list command, Generating Patches, Generating Patches, Date-Based Checkout, Retrieve Old Version of a File --no-merges, Generating Patches -v, Generating Patches git rev-parse command, Relative Commit Names, The Reflog, Examining the Hashes of Submodule Commits git revert command, Using git revert, reset, revert, and checkout git rm command, Removing and Renaming Files in Your Repository, File Management and the Index, Using git rm–Using git mv, Using git rm --cached, Using git rm git send-email command, Patches, Mailing Patches git show command, Viewing Your Commits, Commits, Finishing Up a Conflict Resolution --pretty=fuller, Commits git show-branch command, Viewing Your Commits, Relative Commit Names, Viewing Branches–Viewing Branches, Viewing Branches, Deleting Branches, The Stash, Pushing Your Changes, Applying Patches --more option, Viewing Branches git show-ref command, The refspec git stash branch command, The Stash git stash command, The Stash–The Stash, The Stash, The Stash, Interactive Rebase with a Dirty Working Directory --all option, The Stash for dirty working directory, Interactive Rebase with a Dirty Working Directory --include-untracked option, The Stash git stash drop command, The Stash git stash list command, The Stash–The Stash git stash pop command, The Stash, The Stash git stash save command, The Stash git stash show command, The Stash git status command, Adding a File to Your Repository, It’s All About the Index, File Classifications in Git, Using git add, Using git commit --all, Locating Conflicted Files, Using git reset, Ahead and Behind .git subdirectory, Inside the .git Directory–Inside the .git Directory git submodule add command, The git submodule Command, Submodule Commands git submodule add URL command, Credential Reuse git submodule command, The Native Solution: gitlinks and git submodule–The git submodule Command git submodule foreach command, Submodule Commands git submodule init command, The git submodule Command, Submodule Commands git submodule status command, Submodule Commands git submodule summary command, Submodule Commands git submodule update command, Detached HEAD Branches, The git submodule Command, Submodule Commands git svn clone command, Example: A Shallow Clone of a Single Branch–Example: A Shallow Clone of a Single Branch, Cloning All the Branches, Cloning All the Branches --prefix=svn/, Cloning All the Branches --stdlayout, Cloning All the Branches git svn command, Example: A Shallow Clone of a Single Branch, Example: A Shallow Clone of a Single Branch, Pushing, Pulling, Branching, and Merging with git svn, Pushing, Pulling, Branching, and Merging with git svn, Keeping Your Commit IDs Straight, How dcommit handles merges, Reconstructing the git-svn Cache–Reconstructing the git-svn Cache --authors-file, Keeping Your Commit IDs Straight pushing, pulling, branching and merging, Pushing, Pulling, Branching, and Merging with git svn reconstructing cache, Reconstructing the git-svn Cache–Reconstructing the git-svn Cache vs. git svn rebase command, Pushing, Pulling, Branching, and Merging with git svn working directory, Example: A Shallow Clone of a Single Branch git svn create-ignore command, svn:ignore Versus .gitignore git svn dcommit command, Keeping Your Commit IDs Straight, Merging Back into Subversion, Reconstructing the git-svn Cache git svn rebase command, Committing Through git svn rebase, Pushing, Pulling, Branching, and Merging with git svn committing through, Committing Through git svn rebase vs. git svn command, Pushing, Pulling, Branching, and Merging with git svn git svn repository, cloning all branches, Cloning All the Branches–Cloning All the Branches git symbolic-ref command, refs and symrefs git tag command, Tags Git tags, Tags Automatically Becoming Archives Git Tower, Submodules on the Horizon Git transfer protocol, Patches git update-index command, --assume-unchanged Makefile, Keep, But Don’t Track, This File git update-ref command, Updating and Deleting refs Git URLs, Referring to Remote Repositories git whatchanged command, Quick Overview of Changes, Quick Overview of Changes–Quick Overview of Changes --since= option, Quick Overview of Changes git write-tree command, Files and Trees, Commits git-core package, Debian/Ubuntu git-daemon command, Referring to Remote Repositories, Publishing repositories using git-daemon–Publishing repositories using git-daemon, Publishing repositories using git-daemon --export-all, Publishing repositories using git-daemon git-daemon-run, Debian/Ubuntu git-email command, Debian/Ubuntu git-grep command, Using git-grep to Search a Repository–Using git-grep to Search a Repository, Using git-grep to Search a Repository command line options, Using git-grep to Search a Repository for searching repository, Using git-grep to Search a Repository–Using git-grep to Search a Repository git-gui, Debian/Ubuntu git-http-backend command, Publishing a repository using Smart HTTP Git-over-SSH protocol, Repository Publishing Advice git-submodule.sh shell script, The git submodule Command–The git submodule Command git-svn-id command, How dcommit handles merges git-svn-id, in commit message, Example: A Shallow Clone of a Single Branch git/.git directory, gitlink to, Gitlinks .git/config file, Remotes, Referring to Remote Repositories, Remote Configuration, Using git config, Using git config, Creating Tracking Branches, The git submodule Command–The git submodule Command adding branch entry, Creating Tracking Branches adding to, Using git config, Using git config copying .gitmodules file settings to, The git submodule Command–The git submodule Command .git/hooks directory, Hooks, Installing Hooks .git/logs directory, reflogs stored under, The Reflog .git/logs/HEAD file, The Reflog .git/MERGE_HEAD file, How Git Keeps Track of Conflicts .git/MERGE_MSG file, How Git Keeps Track of Conflicts .git/objects directory, Inside the .git Directory .git/rebase-apply directory, Applying Patches .git/refs/ directory, refs and symrefs ~/.gitconfig file, Configuration Files GitHub, Publishing Your Repository to GitHub, Forking projects at GitHub–Forking projects at GitHub, Submodules on the Horizon, Submodules on the Horizon, Repo for Public Code, Creating a GitHub Repository–Creating a GitHub Repository, Creating a GitHub Repository, Creating a GitHub Repository, Watchers, News Feed, Forks–Forks, Forks, Creating Pull Requests–Creating Pull Requests, Managing Pull Requests–Managing Pull Requests, Managing Pull Requests, Notifications, Finding Users, Projects, and Code, Finding Users, Projects, and Code, Wikis, GitHub Pages (Git for Websites), In-Page Code Editor, Tags Automatically Becoming Archives, Organizations Advanced Search page, Finding Users, Projects, and Code automatic merge button for Git commit, Managing Pull Requests creating account, Repo for Public Code creating repository, Publishing Your Repository to GitHub, Creating a GitHub Repository–Creating a GitHub Repository Explore page, Finding Users, Projects, and Code forking projects at, Forking projects at GitHub–Forking projects at GitHub hyperlinking of submodules, Submodules on the Horizon Mozilla’s Act control, In-Page Code Editor network graph, Forks New Repository page, Creating a GitHub Repository news feed, News Feed notifications, Notifications organizations, Organizations pages (Git for websites), GitHub Pages (Git for Websites) personal forks of projects, Forks–Forks project archive creation, Tags Automatically Becoming Archives pull requests, Creating Pull Requests–Creating Pull Requests, Managing Pull Requests–Managing Pull Requests creating, Creating Pull Requests–Creating Pull Requests managing, Managing Pull Requests–Managing Pull Requests pushing local contents to repository, Creating a GitHub Repository submodule hyperlinks on repositories, Submodules on the Horizon watchers, Watchers wikis, Wikis GitHub Enterprise, GitHub Enterprise GitHub.com, Forking Projects .gitignore file, File Classifications in Git, File Classifications in Git, The .gitignore File–The .gitignore File, svn:ignore Versus .gitignore svn:ignore vs., svn:ignore Versus .gitignore gitk (Git browser), Debian/Ubuntu, Using gitk to View the Commit Graph–Using gitk to View the Commit Graph, Using git bisect to view commit graph, Using gitk to View the Commit Graph–Using gitk to View the Commit Graph gitlinks, Gitlinks–Gitlinks, The git submodule Command git add to update, The git submodule Command .gitmodules file, The git submodule Command, The git submodule Command–The git submodule Command, Credential Reuse copying settings to .git/config file, The git submodule Command–The git submodule Command username as part of recorded address, Credential Reuse Gitolite project, Repositories with Controlled Access gitweb, Debian/Ubuntu GIT_AUTHOR_EMAIL environment variable, Configuring the Commit Author GIT_AUTHOR_NAME environment variable, Configuring the Commit Author $GIT_DIR variable, refs and symrefs GIT_EDITOR environment variable, Adding a File to Your Repository --global option, Configuration Files, Have You Been Here Before?

., Precedents tilde (~), refs and symrefs–Relative Commit Names time stamps, Commit Graphs, No One True History in commit graph, Commit Graphs of commits, No One True History tip of branch, Using Branches, The Reflog record of changes to, The Reflog top-level directory, removing after SVN import, Remove a Trunk After an SVN Import topic branch, Reasons for Using Branches, Tracking Branches topmost commit, Using git reset–Using git reset, Changing the Top Commit–Changing the Top Commit changing, Changing the Top Commit–Changing the Top Commit git reset to eliminate, Using git reset–Using git reset topological sorts, and patches, Patches and Topological Sorts–Patches and Topological Sorts Torvalds, Linus, It’s All About the Index, Repository Structure Examples, No One True History, Reconciling forks, Combining Projects, The Native Solution: gitlinks and git submodule and forking, Reconciling forks tracked file, File Classifications in Git, Using git add git add command for, Using git add tracking branches, Reasons for Using Branches, Tracking Branches–Tracking Branches, Working with Tracking Branches–Creating Tracking Branches tracking, file renames, A Note on Tracking Renames–A Note on Tracking Renames tree objects, Git Object Types, Object Store Pictures, Files and Trees, Files and Trees, Tree Hierarchies–Tree Hierarchies, Commit Graphs, Forms of the git diff Command, Gitlinks comparison in git diff command, Forms of the git diff Command creating from current index, Files and Trees hierarchies, Tree Hierarchies–Tree Hierarchies links from, Gitlinks representing repository, Commit Graphs tree-filter, Using git filter-branch trust, of VCS, The Birth of Git U -u option, Locating Conflicted Files, Publishing Your Repository to GitHub for git ls-files command, Locating Conflicted Files for git push command, Publishing Your Repository to GitHub Ubuntu Linux environment, Assumed Framework, Debian/Ubuntu–Debian/Ubuntu installing Git, Debian/Ubuntu–Debian/Ubuntu uncommitted changes, checking out and, Checking out When You Have Uncommitted Changes–Checking out When You Have Uncommitted Changes unified diff, Diffs Uniform Resource Locators (URLs), Git support of, Referring to Remote Repositories union merge driver, Merge Drivers Unix diff, Diffs unreachable objects, The git fsck Command, Garbage Collection --unset option, Configuration Files unstaging files, Using git reset untracked file, File Classifications in Git update hook, Hooks, Push-Related Hooks updates to repository, getting, Getting Repository Updates–Should you merge or rebase?


pages: 274 words: 58,675

Puppet 3 Cookbook by John Arundel

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Amazon Web Services, cloud computing, continuous integration, Debian, defense in depth, GnuPG, place-making, web application

Add the following code to your manifest: if $::operatingsystem in [ 'Ubuntu', 'Debian' ] { notify { 'Debian-type operating system detected': } } elsif $::operatingsystem in [ 'RedHat', 'Fedora', 'SuSE', 'CentOS' ] { notify { 'RedHat-type operating system detected': } } else { notify { 'Some other operating system detected': } } 53 Puppet Language and Style 2. Run Puppet: ubuntu@cookbook:~/puppet$ papply Notice: Debian-type operating system detected Notice: /Stage[main]/Admin::Test/Notify[Debian-type operating system detected]/message: defined 'message' as 'Debian-type operating system detected' Notice: Finished catalog run in 0.08 seconds There's more… The value of an in expression is Boolean (true or false) so you can assign it to a variable: $debianlike = $::operatingsystem in [ 'Debian', 'Ubuntu' ] if $debianlike { notify { 'You are in a maze of twisty little packages, all alike': } } Using regular expression substitutions Puppet's regsubst function provides an easy way to manipulate text, search and replace within strings, or extract patterns from strings.

You can find a good introduction to Ruby regular expression syntax at this website: http://www.tutorialspoint.com/ruby/ruby_regular_expressions.htm See also ff Using regular expression substitutions, in this chapter Using selectors and case statements Although you could write any conditional statement using if, Puppet provides a couple of extra forms to help you express conditionals more easily: the selector and the case statement. How to do it… Here are some examples of selector and case statements: 1. Add the following code to your manifest: $systemtype = $::operatingsystem ? { 'Ubuntu' => 'debianlike', 'Debian' => 'debianlike', 50 Chapter 2 'RedHat' 'Fedora' 'CentOS' default => => => => 'redhatlike', 'redhatlike', 'redhatlike', 'unknown', } notify { "You have a ${systemtype} system": } 2. Add the following code to your manifest: class debianlike { notify { 'Special manifest for Debian-like systems': } } class redhatlike { notify { 'Special manifest for RedHat-like systems': } } case $::operatingsystem { 'Ubuntu', 'Debian': { include debianlike } 'RedHat', 'Fedora', 'CentOS': { include redhatlike } default: { notify { "I don't know what kind of system you have!": } } } How it works… Our example demonstrates both the selector and the case statement, so let's see in detail how each of them works.

yes Warning: Permanently added 'ec2-107-22-22-159.compute-1.amazonaws. com,107.22.22.159' (RSA) to the list of known hosts. sudo: unable to resolve host cookbook-test --2013-03-15 15:53:44-release-precise.deb http://apt.puppetlabs.com/puppetlabs- Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 96.126.116.126, 2600:3c00::f03c:91ff:fe93:711a Connecting to apt.puppetlabs.com (apt.puppetlabs. com)|96.126.116.126|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3392 (3.3K) [application/x-debian-package] Saving to: `puppetlabs-release-precise.deb' 0K 302M=0s 100% 27 Puppet Infrastructure 2013-03-15 15:53:44 (302 MB/s) - `puppetlabs-release-precise.deb' saved [3392/3392] Selecting previously unselected package puppetlabs-release. (Reading database ... 25370 files and directories currently installed.) Unpacking puppetlabs-release (from puppetlabs-release-precise.deb) ... Setting up puppetlabs-release (1.0-5) ...


pages: 360 words: 96,275

PostgreSQL 9 Admin Cookbook: Over 80 Recipes to Help You Run an Efficient PostgreSQL 9. 0 Database by Simon Riggs, Hannu Krosing

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

business intelligence, business process, database schema, Debian, en.wikipedia.org, full text search, Skype

On Windows and OS X, the default data directory location is as follows: ff C:\Program Files\PostgreSQL\R.r\data How it works... Even though the Debian/Ubuntu and Red Hat file layouts are different, they both follow the Linux Filesystem Hierarchy Standard (FHS), so neither layout is wrong. The Red Hat layout is simpler and easier to understand. The Debian/Ubuntu layout is more complex, though it has different and more adventurous goals. The Debian/Ubuntu layout is similar to the Optimal Flexible Architecture (OFA) of other database systems. The goals are to provide a file layout that will allow you to have multiple PostgreSQL database servers on one system, and to allow many versions of the software to exist at once in the filesystem. The layout for the Windows and OS X installers is different again. Multiple database clusters are possible, but are also more complex than on Debian/Ubuntu. I recommend that you follow the Debian/Ubuntu layout, on whichever platform you are using.

The server works in essentially the same way on every platform, whereas each operating system and distribution has its own concept of a service. How to do it... On all platforms, there is a specific command to start the server, which is as follows: 74 Chapter 4 UBUNTU/DEBIAN pg_ctlcluster 9.0 main reload RED HAT/FEDORA pg_ctl -D /var/lib/pgsql/data start SOLARIS pg_ctl -D /var/lib/pgsql/data start MAC OS pg_ctl -D /var/lib/pgsql/data start FREEBSD pg_ctl -D /var/lib/pgsql/data start although on some platforms, the service can be started in various ways such as: RED HAT/FEDORA service postgresql start WINDOWS net start postgres How it works... On Ubuntu/Debian, the pg_ctlcluster wrapper is a convenient utility that allows multiple servers to coexist more easily, which is especially good when you have servers with different versions. Very useful.

This is also very useful for changing server encoding. 336 Index A actions performing, on many tables 158, 159 working 160-162 active query, running verifying 194 alter.tablealter.table 50 ANALYZE command 215 Archiver process 71 auto freezing avoiding 221, 222 automatic database maintenance controlling 216 autovacuum about 72, 216 enabling 216 working 218, 219 B Background writer process 71 backup performance 294 backup/recovery options 271 backup/restore performance improving 294 backups planning 270, 271 basic server configuration checklist 67, 68 bloated tables and indexes fixing 229-231 identifying 229-231 boxes_position_excl 109 BSD (Berkeley Distribution Software) license 10 bug investigating 210-212 reporting 210-212 C Cacti 190 causes, for slow SQL statement excess data, processing 246-248 excess data, returning by query 248 less memory 248 locking problems 249 CentOS database server files, locating 35 database server message log, locating 37 change logs saving, to another database 142, 143 checkpoint_segments 268 checkpoint_timeout 268 check_postgres_bloat 232 check_postgres plugins 232 column datatypes changing 165-167 columns, of data table adding/removing 163, 164 complex SQL simplifying 251, 252 complex SQL, simplifying materialized views, using 257 subquery, moving to view 253, 254 temporary tables, using for subquery 255, 256 WITH statement, using 254, 255 computer connectivity verifying 193 connection information inspecting 13 Connection Pool about 91 setting up 91, 92 Contrib 69 crash recovery about 268 controlling 268, 269 CREATE GROUP command 131 CREATE ROLE command 131 CREATE USER command 131 current configuration settings, PostgreSQL 62, 63 D data loading, from flat files 122 loading, from spreadsheet 119-121 sampling 117, 118 database recovering 292, 293 database connection, SSL used about 145 client, setting up 146 server authenticity, checking 147 SSL key and certificate, getting 146 working 145 database object definitions backup about 277 performing 277 databases monitoring 190 viewing, pgAdmin used 192 listing 40, 41 database server new connections, preventing 80, 81 restarting 78, 79 server configuration files, reloading 76-78 starting manually 74, 75 stopping 75, 76 stopping, in emergency 76 users, restricting to one session 81, 82 users, terminating 83 recovery 283, 284 database server files, PostgreSQL locating 34, 35 locating, on CentOS 35 locating, on Debian or Ubuntu 34 338 locating, on Fedora 35 locating, on Red Hat RHEL 35 working 35 database server message log locating 36 locating, on CentOS 37 locating, on Debian or Ubuntu systems 37 locating, on Fedora 37 locating, on Red Hat RHEL 37 locating, on Windows systems 37 working 38 database sessions terminating 199 databases session, terminating backend, terminating 199 backend, terminating from command line 201 idle in transaction queries, terminating 200 queries, cleaning up 200 query, canceling 199 data changes auditing 140-143 collecting, from server log 141 collecting, triggers used 141, 142 data generator features 116 data quality issues, removing about 99 Information Schema query, using 100 table definitions, comparing 102, 103 tables, comparing 101 dblink functions 181 installing 177 working 179, 180 dbname 13 DDL changes auditing 139 DDL (Data Definition Language) 139 Debian or Ubuntu systems database server files, locating 34 debugging_info function writing 138 differential backup 296 differential physical backup performing 297 working 297 disk space size, database finding 45 disk space size, of table finding 46 du command 206 duplicate rows preventing 106-109 duplicates identifying 103-106 removing 103-106 indexes maintaining 233-236 Information Schema 44 J JDBC driver parameters 73 L generic monitoring tools resources 192 genetic query optimization (GEQO) 255 GNU Privacy Handbook URL 151 graphical administration tools upgrading 15-17 LDAP integration 144 LDAP (lightweight Directory Access Protocol) 144 libpq interface library 12 Lightning Admin URL 20 Linux Filesystem Hierarchy Standard (FHS) 35 listen_addresses parameter 14 logfile errors, daily summary report creating 212 logical backup improving 294 logical backup, of all databases about 274 performing 275 working 275 logical backup, of all tables in tablespace about 276 performing 276 working 277 logical backup, of one database about 272 performing 272 working 273 logical restore improving 294 Log Sequence Number (LSN) 298 H M hostaddr 12 hstore 9 maintenance planning 239 Major.Minor.Maintenance format 32 max_client_conn parameter 92 max_connections parameter 92 max_stack_depth 64 monitoring information providing 191 E EMS SQLManager URL 20 enable_seqscan setting to false 261 external module adding, to PostgreSQL 68-70 F failed connection troubleshooting 27, 28 Fedora database server files, locating 35 database server message log, locating 37 G I IANA 13 incremental backup 296 339 multiple physical databases running on server 84, 85 multiple schemas using 85-87 working 87 multiple servers running, on one system 89, 90 multi-tenancy 84 multi-tenancy design deciding 84, 85 Multi-Version Concurrency Control (MVCC) 9 Munin 190 MVCC 48 N Nagios about 190 URL 192 names, for database objects selecting 96 Navicat URL 20 network port 13 network/remote access enabling 14, 15 newcust_customerid_excl 109 newcust_customerid_idx 107 newcust_customerid_key 107 newcust_pkey 107 new database planning 59, 60 O objects handling, with quoted names 97-99 accessing, in other PostgreSQL databases 177-180 moving, between schemas 170 moving, between tablespaces 174-176 old prepared transactions removing 225, 226 OLTP (Online Transaction Processing) systems 195 OpenSSL web page URL 151 Optimal Flexible Architecture (OFA) 35 340 optimistic locking using 263 OS X database server files, locating 35 P page corruptions avoiding 221, 222 parameter file updating 65, 66 parameters changing 60-62 checking, for non-default settings 63, 64 setting, for partuicular user groups 66, 67 parameters, for toast tables toast.autovacuum_analyze_scale_factor 217 toast.autovacuum_analyze_threshold 217 toast.autovacuum_enabled 217 toast.autovacuum_freeze_max_age 217 toast.autovacuum_freeze_min_age 217 toast.autovacuum_freeze_table_age 217 toast.autovacuum_vacuum_cost_delay 217 toast.autovacuum_vacuum_cost_limit 217 toast.autovacuum_vacuum_scale_factor 217 toast.autovacuum_vacuum_threshold 217 parameters, postgresql.conf autovacuum 216 autovacuum_analyze_scale_factor 216 autovacuum_analyze_threshold 216 autovacuum_freeze_max_age 217 autovacuum_max_workers 217 autovacuum_naptime 217 autovacuum_vacuum_cost_delay 217 autovacuum_vacuum_cost_limit 217 autovacuum_vacuum_scale_factor 217 autovacuum_vacuum_threshold 217 log_autovacuum_min_duration 217 partial index 108 password changing 24 keeping, in secure password file 25, 26 performance tuning, PostgreSQL complex SQL, simplifying 251, 252 database, forcing to use an index 261, 262 number of returned rows, reducing 250, 251 optimistic locking, using 263 performance problems, reporting 265 queries, speeding up 257 query, not using an index 260, 261 reasons for slow SQL statement, finding 246 regular optimizer statistics, collecting 245 slow SQL statements, finding 242 pgAdmin about 16, 17 working 18, 19 pgAdmin3 16, 168 pg_batch 163 PgBouncer 145 pg_cache_save() 79 pg_cacheutils 79 pg_cache_warm() 80 pg_catalog 44 pg_catalog schema 102 pg_controldata 39 Pgcrypto 150 pgcrypto package 147 PgCrypto page URL 151 pg_database_size() function object dependencies 46 pg_dump 270 pg_dumpall 270 pg_dumpall utility 272 pgFoundry 69 pg_hba.conf 14, 65 pg_ident.conf 65 pgloader 122 pg_locks view 226 pg_ls_dir(dirname text) function 205 PGPASSFILE 25 pg_rman 298 pg_rman 1.1.2 298 pg_settings 62 PGSSLMODE 146 pg_stat_activity 78, 83, 193 pg_stat_activity.waiting field 197 pg_stat_file(filename text) function 205 pg_stat_get_activity function 194 pgstatindex() 232 pgstattuple() 232 pg_stat_user_indexes 191 pg_stat_user_tables 191, 202 pg_stop_backup() function 279 pg_terminate_backend() 84 pg_terminate_backend() function 83 pg_terminate_backend(processid) function 199 phpPgAdmin about 20 URL 19 physical backup improving 294 physical database backup about 278 performing 278 working 279 physical database backup, with continuous archiving about 280 performing 281, 282 working 282 physical restore improving 294 PL/Proxy 181 point in time recovery (PITR) about 286 performing 287 working 287 PostGIS 274 postgres 41 postgres OS user connecting 38 PostgreSQL about 7, 8, 31 accessing 11-13 actions, performing on many tables 158 backups 267 basic server configuration checklist 67, 68 benefits 8 biggest table size, finding 47 column datatypes, changing 165-167 connection information, inspecting 13 connection service file, using 26, 27 crash recovery 268 current configuration settings 62, 63 database object names, selecting 96 database server, starting manually 74, 75 database server files, locating 34, 35 database server message log, locating 36, 37 databases, listing 40, 41 data directory 74 341 data, loading from flat files 122 data, loading from spreadsheet 119-121 data quality issues, removing 99 disk space size, finding 45 disk space size of table, finding 46 downloading 10 duplicate indexes 110 duplicate rows, preventing 106-109 duplicates, identifying 103-106 duplicates, removing 103-106 enabling, SSL used 145 external module, adding 68-70 failed connection, troubleshooting 27, 28 features 8, 9 graphical administration tools, upgrading 15-17 installing 10 integrating, with LDAP 144 manual, reading 58 monitoring information, providing 191 multiple schemas, using 85-87 network/remote access, enabling 14, 15 new database, planning 59, 60 new user, creating 130 number of rows in table, estimating 49 number of tables 43, 44 object dependencies 53 objectives 8 objects, accessing in other PostgreSQL databases 177, 178 objects, moving between schemas 170 objects, moving between tablespaces 174-176 objects, handling with quoted names 97-99 ownership, reassigning 134 ownerships, assigning to user 133 parameter file, updating 65, 66 parameters, changing 60-62 parameters, setting for particular user groups 66, 67 password, changing securely 24 password, keeping in secure password file 25, 26 performance tuning 242 private database, providing to users 88, 89 psql script, writing 156, 157 regular maintenance 215, 216 342 release support policy 32 rights of deleted users, assigning to new user 133 running, in power saving mode 70-72 schema-level privileges 169 schemas, adding/removing 168, 169 script, working 155 script, writing 154 security 125 sensitive data, encrypting 147-149 server uptime, monitoring 33 table columns, adding/removing 163, 164 table rows, counting 48 tablespaces, adding/removing 171, 172 test data, generating 114, 115 uniqueness without indexes 110 unique set of key columns, finding 112, 113 version, checking 32 version number, checking 33 views, making updateable 182, 184 working 11, 32 PostgreSQL 9 introducing 8 postgresql.conf 62 postgresql-contrib 147 PostgreSQL documents about 58 access and security plan 59 availability plan 59 database design 59 hardware configuration 59 high availability plan 60 localization plan 59 maintenance plan 59 transaction analysis 59 PostgreSQL Flexible Architecture (PFA) 35 PostgreSQL-LDAP inetgration about 144 client, setting up 144 working 144 PostgreSQL manual about 58 reference link 58 working 58 PQA (Practical Query Analysis) 213 private database providing, to users 88, 89 production database administrators 126 end-users 126 psql about 20 using 20, 21 working 22, 23 psql script working 158 writing 156, 157 Q queries blocking, causes 198 long-running queries, viewing 195 slowing down, causes 208, 210 status, verifying 196 viewing, from ps 196 queries, running for milliseconds catching 195 queries, speeding up better information, providing 257 constraint exclusion, using 259 fillfactor, setting on table 259 multi-column index, adding 258 schema, rewriting 259 special conditional index adding 258 table, clustering on specific indexes 258 table partitioning, using 259 quote_ident() 99 R random() function 118 random_page_cost lowering 262 recovery, of database server logical recovery 283, 285 performing 283, 284 physical recovery 284, 285 working 285 Red Hat layout 35 Red Hat RHEL database server files, locating 35 database server message log, locating 37 regular maintenance about 216 actions, for heavy users of temporary tables 227, 228 auto freeze, avoiding 221, 222 automatic database maintenance, controlling 216, 217 bloated tables and indexes, fixing 229 bloated tables and indexes, identifying 229 indexes, maintaining 233-236 maintenance, planning 239 old prepared transactions, removing 225 page corruptions, avoiding 221, 222 transaction wraparound, avoiding 222, 223 unwanted indexes, removing 238 regular optimizer statistics collecting 245 working 246 REINDEX CONCURRENTLY command 236 restore performance 294 rows, in table counting 48 estimating 49 RRDtool (Round Robin Database Tool) about 190 Cacti 190 Munin 190 RTFM 58 Ruby 213 S schemas adding/removing 168, 169 script working 155, 156 writing 154 security about 125 data changes, auditing 140 DDL changes, auditing 139 new database user, creating 130 superuser powers, limiting to specific users 136, 137 user access, granting to table 128 user access, revoking to table 126, 127 user connection, preventing temporarily 131 343 user passwords, encrypting 134 user, removing without dropping data 133 sensitive data encrypting 147-149 Separate projects 69 server configuration files reloading 76-78 server uptime, PostgreSQL monitoring 33 SET LOCAL command 61 SHOW command 62 SHOW commands 93 Slony 274 slow SQL statements finding 242, 243 queries, finding 243 slow queries, making appearing in slow query log 244 SNMP (Simple Network Management Protocol) 190 SQL function creating 51, 53 SQL REINDEX command 233 storage parameters autovacuum_analyze_scale_factor 217 autovacuum_analyze_threshold 217 autovacuum_enabled 217 autovacuum_freeze_max_age 217 autovacuum_freeze_min_age 217 autovacuum_freeze_table_age 217 autovacuum_vacuum_cost_delay 217 autovacuum_vacuum_cost_limit 217 autovacuum_vacuum_scale_factor 217 autovacuum_vacuum_threshold 217 superuser powers limiting, to specific users 136, 137 Swiss knife script 191 syslog 37 T table recovering 288, 289, 290 tabledaily usage statistics, collecting 202 file dates, viewing 203, 205 status, verifying 201 tablespace recovering 291, 292 344 tablespaces adding/removing 171, 173 pg_xlog directory, putting on separate device 174 tablespace-level tuning 174 working 173 temporary data space consumption, measuring 205 temp_tablespaces settings 206, 207 temporary file usage logging 207 temp_tablespaces parameter 227 test data columns, generating 115, 116 generating 114, 115 rows, generating 114 timeofday() function 110 TOAST 47 TOAST index 47 TOAST table 47 TPL (The PostgreSQL License) 10 transaction wraparound avoiding 222, 223 troubleshooting, failed connection connection request, checking 28 database name and username, checking 27 disconnection reasons, checking 28 explicit rejections, checking 28 implicit rejections, checking 28 port, checking 28 psql connection, checking 28 server, checking 28 U unique set of key columns finding 112, 113 unwanted indexes removing 238 user removing 133 user access granting, to all objects in schema 129, 130 granting, to table 128, 129 granting, to table through group role 129 revoking, to table 126, 127 user connection NOLOGIN users, disconnecting 132 preventing temporarily 131 verifying 193 user passwords encrypting 135 V VACUUM command 215 versions, PostgreSQL PostgreSQL 8.2 33 PostgreSQL 8.3 33 PostgreSQL 8.4 33 PostgreSQL 9.0 33 views about 182 making updateable 182, 184 working 185 VPN (Virtual private Network) 145 W WAL receiver process 72 WAL writer process 71 Windows database server files, locating 35 Write Ahead Log (WAL) 268 345 Thank you for buying PostgreSQL 9 Administration Cookbook About Packt Publishing Packt, pronounced 'packed', published its first book "Mastering phpMyAdmin for Effective MySQL Management" in April 2004 and subsequently continued to specialize in publishing highly focused books on specific technologies and solutions.

Free as in Freedom by Sam Williams

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Asperger Syndrome, cognitive dissonance, Debian, East Village, Hacker Ethic, informal economy, Isaac Newton, John Conway, Maui Hawaii, Murray Gell-Mann, profit motive, Richard Feynman, Richard Stallman, Silicon Valley, slashdot, software patent, Steven Levy, Ted Nelson, urban renewal, VA Linux, Y2K

As soon as the FSF announced that it would lend its money and moral support to Murdock's software project, other offers of support began rolling in. Murdock 127 dubbed the new project Debian-a compression of his and his wife, Deborah's, names-and within a few weeks was rolling out the first distribution. "[Richard's support] catapulted Debian almost overnight from this interesting little project to something people within the community had to pay attention to," Murdock says. In January of 1994, Murdock issued the " Debian Manifesto." Written in the spirit of Stallman's "GNU Manifesto" from a decade before, it explained the importance of working closely with the Free Software Foundation. Murdock wrote: The Free Software Foundation plays an extremely important role in the future of Debian. By the simple fact that they will be distributing it, a message is sent to the world that Linux is not a commercial product and that it never should be, but that this does not mean that Linux will never be able to compete commercially.

He was perfectly polite about it, and I thought his answer made perfect sense." As a prominent Debian developer, however, Perens regarded Murdock's design battles with Stallman with dismay. Upon assuming leadership of the development team, Perens says he made the command decision to distance Debian from the Free Software Foundation. "I decided we did not want Richard's style of micro-management," he says. According to Perens, Stallman was taken aback by the decision but had the wisdom to roll with it. "He gave it some time to cool off and sent 130 a message that we really needed a relationship. He requested that we call it GNU/Linux and left it at that. I decided that was fine. I made the decision unilaterally. Everybody breathed a sigh of relief." Over time, Debian would develop a reputation as the hacker's version of Linux, alongside Slackware, another popular distribution founded during the same 1993-1994 period.

A group of Emacs developers working for a software company named Lucid had a falling out over Stallman's unwillingness to fold changes back into the GNU Emacs code base. The fork had given birth to a parallel version, Lucid Emacs, and hard feelings all around.Jamie Zawinski, a former Lucid programmer who would go on to head the Mozilla development team, has a web site that documents the Lucid/GNU Emacs fork, titled, "The Lemacs/ FSFmacs Schism." Murdock says Debian was mounting work on a similar fork in glibc source code that motivated Stallman to insist on adding the GNU prefix when Debian rolled out its software distribution. "The fork has since converged. Still, at the time, there was a concern that if the Linux community saw itself as a different thing as the GNU community, it might be a force for disunity." Stallman seconds Murdock's recollection. In fact, he says there were nascent forks appearing in relation to every major GNU component.


pages: 188 words: 9,226

Collaborative Futures by Mike Linksvayer, Michael Mandiberg, Mushon Zer-Aviv

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

4chan, Benjamin Mako Hill, British Empire, citizen journalism, cloud computing, collaborative economy, corporate governance, crowdsourcing, Debian, en.wikipedia.org, Firefox, informal economy, jimmy wales, Kickstarter, late capitalism, loose coupling, Marshall McLuhan, means of production, Naomi Klein, Network effects, optical character recognition, packet switching, postnationalism / post nation state, prediction markets, Richard Stallman, semantic web, Silicon Valley, slashdot, Slavoj Žižek, stealth mode startup, technoutopianism, the medium is the message, The Wisdom of Crowds, web application

So ware licensed with the GPL is required to maintain that license in all future incarnations; this means that code that starts out freely licensed has to stay freely licensed. You cannot close the source code. This is known as a Copyle license. 14 Mass Collaborations Debian is the largest non-market collaboration to emerge from the free so ware movement. Beginning in 1993, thousands of volunteer developers have maintained a GNU/Linux operating system distribution, which has been deeply influential well beyond its substantial deployments. Debian has served as the basis for numerous other distributions, including the most popular for the past several years, Ubuntu. Debian is also where many of the pragmatics of the free so ware movement were concretized, including in the Debian Free So ware Guidelines in 1997, which served as the basis of the Open Source Definition in 1998. In 1995 Ward Cunningham created the first wiki, a piece of so ware that allowed multiple authors to collaboratively author documents.

All users participate in carrying the data load, and a significant number actively source new materials to share with other members, and to satisfy requests. (10) Debian is constructed around a clearly defined goal: the development and distribution of a gnu/linux operating system consistent with the Debian Free So ware Guidelines. These guidelines are part of a wider wri en ‘social contract’, a code embodying the project’s ethics, procedural rules and framework for interaction. These rules are the subject of constant debate. Additions to the code base likewise o en give rise to extended discussion touching on legal, political and ethical questions. The social contract can be changed by a general resolution of the developers. Debian exemplifies a ‘recursive community’ (see Christopher Kelty, ‘Two bits’), in that they develop and maintain the tools which support their ongoing communication and labour.

In this book we a empt to articulate what constitutes a collaboration. We argue that rules for participation, established guidelines for a ribution, organizational structure and leadership, and clear goals are necessary for collaboration. In most cases, when we think of these a ributes, we think of manifestos of artist and activist groups, a empts to govern a ribution by formal licenses like the Free Culture and Free So ware licenses, Debian’s formal decision making process, or Eric Raymond’s notion of a Benevolent Dictator that characterizes Linus Torvald’s governance over Linux. What is fascinating about Anonymous, is that at first glance, it appears they have none of these: They are o en portrayed as a band of predominantly young white male renegade hackers raining chaos on random corners of the Internet with no logic or reason. They have even been called Terrorists.


pages: 589 words: 69,193

Mastering Pandas by Femi Anthony

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Amazon Web Services, correlation coefficient, correlation does not imply causation, Debian, en.wikipedia.org, Internet of things, natural language processing, p-value, random walk, side project, statistical model

The various dependencies along with the associated download locations are as follows: Package Required Description Download location NumPy : 1.6.1 or higher Required NumPy library for numerical operations http://www.numpy.org/ python-dateutil 1.5 Required Date manipulation and utility library http://labix.org/ Pytz Required Time zone support http://sourceforge.net/ numexpr Optional, recommended Speeding up of numerical operations https://code.google.com/ bottleneck Optional, recommended Performance-related http://berkeleyanalytics.com/ Cython Optional, recommended C-extensions for Python used for optimization http://cython.org/ SciPy Optional, recommended Scientific toolset for Python http://scipy.org/ PyTables Optional Library for HDF5-based storage http://pytables.github.io/ matplotlib Optional, recommended Matlab-like Python plotting library http://sourceforge.net/ statsmodels Optional Statistics module for Python http://sourceforge.net/ openpyxl Optional Library to read/write Excel files https://www.python.org/ xlrd/xlwt Optional Libraries to read/write Excel files http://python-excel.org/ boto Optional Library to access Amazon S3 https://www.python.org/ BeautifulSoup and one of html5lib, lxml Optional Libraries needed for the read_html() function to work http://www.crummy.com/ html5lib Optional Library for parsing HTML https://pypi.python.org/pypi/html5lib lmxl Optional Python library for processing XML and HTML http://lxml.de/ Linux Installing pandas is fairly straightforward for popular flavors of Linux. First, make sure that the Python .dev files are installed. If not, then install them as explained in the following section. Ubuntu/Debian For the Ubantu/Debian environment, run the following command: sudo apt-get install python-dev Red Hat For the Red Hat environment, run the following command: yum install python-dev Now, I will show you how to install pandas. Ubuntu/Debian For installing pandas in the Ubuntu/Debian environment, run the following command: sudo apt-get install python-pandas Fedora For Fedora, run the following command: sudo yum install python-pandas OpenSuse Install Python-pandas via YaST Software Management or use the following command: sudo zypper install python-pandas Sometimes, additional dependencies may be needed for the preceding installation, particularly in the case of Fedora.

If you're not sure, type the following at the command prompt: which python Python is likely to be found in one of the following folders on Linux depending upon your distribution and particular installation: /usr/bin/python /bin/python /usr/local/bin/python /opt/local/bin/python You can determine which particular version of Python is installed, by typing the following in the command prompt: python --version In the rare event that Python isn't already installed, you need to figure out which flavor of Linux you're using, then download and install it. Here are the install commands as well as links to the various Linux Python distributions: Debian/Ubuntu (14.04) sudo apt-get install python2.7 sudo apt-get install python2.7-devel Debian Python page at https://wiki.debian.org/Python. Redhat Fedora/Centos/RHEL sudo yum install python sudo yum install python-devel Fedora software installs at http://bit.ly/1B2RpCj. Open Suse sudo zypper install python sudo zypper install python-devel More information on installing software can be found at http://en.opensuse.org/YaST_Software_Management. Slackware: For this distribution of Linux, it may be best to download a compressed tarball and install it from the source as described in the following section.

Installation of pandas and the Supporting Software Selecting a version of Python to use Python installation Linux Installing Python from compressed tarball Windows Core Python installation Third-party Python software installation Mac OS X Installation using a package manager Installation of Python and pandas from a third-party vendor Continuum Analytics Anaconda Installing Anaconda Linux Mac OS X Windows Final step for all platforms Other numeric or analytics-focused Python distributions Downloading and installing pandas Linux Ubuntu/Debian Red Hat Ubuntu/Debian Fedora OpenSuse Mac Source installation Binary installation Windows Binary Installation Source installation IPython IPython Notebook IPython installation Linux Windows Mac OS X Install via Anaconda (for Linux/Mac OS X) Wakari by Continuum Analytics Virtualenv Virtualenv installation and usage Summary 3. The pandas Data Structures NumPy ndarrays NumPy array creation NumPy arrays via numpy.array NumPy array via numpy.arange NumPy array via numpy.linspace NumPy array via various other functions numpy.ones numpy.zeros numpy.eye numpy.diag numpy.random.rand numpy.empty numpy.tile NumPy datatypes NumPy indexing and slicing Array slicing Array masking Complex indexing Copies and views Operations Basic operations Reduction operations Statistical operators Logical operators Broadcasting Array shape manipulation Flattening a multi-dimensional array Reshaping Resizing Adding a dimension Array sorting Data structures in pandas Series Series creation Using numpy.ndarray Using Python dictionary Using scalar values Operations on Series Assignment Slicing Other operations DataFrame DataFrame Creation Using dictionaries of Series Using a dictionary of ndarrays/lists Using a structured array Using a Series structure Operations Selection Assignment Deletion Alignment Other mathematical operations Panel Using 3D NumPy array with axis labels Using a Python dictionary of DataFrame objects Using the DataFrame.to_panel method Other operations Summary 4.


pages: 120 words: 19,624

git internal by Scott Chacon

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, en.wikipedia.org, loose coupling, pull request

Another interesting example is to see which files in these versions do not contain the string ‘git’ anywhere in them: $ git grep -L -v git v1.5.3.8 v1.0.0 v1.5.3.8:contrib/fast-import/git-p4.bat v1.5.3.8:contrib/p4import/README v1.5.3.8:t/t5100/patch0007 v1.5.3.8:t/t5100/patch0008 v1.5.3.8:templates/this--description v1.0.0:debian/git-arch.files v1.0.0:debian/git-cvs.files v1.0.0:debian/git-doc.files v1.0.0:debian/git-email.files v1.0.0:debian/git-svn.files v1.0.0:debian/git-tk.files v1.0.0:templates/this--description • git grep (http://www.kernel.org/pub/software/scm/git/docs/git-grep.html) Git Diff Git has a great diff utility built in that can give you statistics or a patch file given any combination of tree objects, working directory and index. 72 Two common uses of this include seeing what you’ve worked on but not committed yet, and creating a patch file to send to someone over email (though there is a much preferred way to share changes which we will learn about in the “distributed workflow” section a bit later).

I would recommend compiling from source if possible, simply because Git is lately making big strides in usability, so more current versions may be a bit easier to use. Installing on Linux If you are installing from source, it will go something like the standard: $ wget http://kernel.org/pub/software/scm/git/git1.5.4.4.tar.bz2 $ tar jxpvf git-1.5.4.4.tar.bz2 $ cd git-1.5.4.4 $ make prefix=/usr all doc info $ sudo make prefix=/usr install install-doc install-info If you are running Ubuntu or another Debian based system, you can run $ apt-get git-core 5 or on yum based systems, you can often run: $ yum install git-core Installing on Mac You are likely going to want to install Git without the asciidoc dependency because it is a pain to install. Other than that, what you basically need is Curl and Expat. With the exception of the Leopard binary OS X installer, you will also need the Developer Tools installed.


pages: 369 words: 80,355

Too Big to Know: Rethinking Knowledge Now That the Facts Aren't the Facts, Experts Are Everywhere, and the Smartest Person in the Room Is the Room by David Weinberger

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

airport security, Alfred Russel Wallace, Amazon Mechanical Turk, Berlin Wall, Black Swan, book scanning, Cass Sunstein, corporate social responsibility, crowdsourcing, Danny Hillis, David Brooks, Debian, double entry bookkeeping, double helix, en.wikipedia.org, Exxon Valdez, Fall of the Berlin Wall, future of journalism, Galaxy Zoo, Hacker Ethic, Haight Ashbury, hive mind, Howard Rheingold, invention of the telegraph, jimmy wales, John Harrison: Longitude, Kevin Kelly, linked data, Netflix Prize, New Journalism, Nicholas Carr, Norbert Wiener, openstreetmap, P = NP, Pluto: dwarf planet, profit motive, Ralph Waldo Emerson, RAND corporation, Ray Kurzweil, Republic of Letters, RFID, Richard Feynman, Richard Feynman, Ronald Reagan, semantic web, slashdot, social graph, Steven Pinker, Stewart Brand, technological singularity, Ted Nelson, the scientific method, The Wisdom of Crowds, Thomas Kuhn: the structure of scientific revolutions, Thomas Malthus, Whole Earth Catalog, X Prize

Indeed, the official Constitution of the community that produces a bundled version of Linux called Debian says explicitly: “A person who does not want to do a task which has been delegated or assigned to them does not need to do it.”19 Authority can still be wielded against rogue members of the community—say, someone who does not follow the agreed-upon quality assurance practices—ranging from public shaming to taking away access privileges, and, as with all large-scale collaborative projects on the Internet, the Debian community has procedures for adjudicating disputes. Nevertheless, these projects are not hierarchies so much as networks in which some nodes are more equal than others. Leadership is distributed across the network itself as far as it can be. How far is that? Debian does indeed have a leader, chosen in yearly elections.

In his book Cyberchiefs: Autonomy and Authority in Online Tribes, Mathieu O’Neil writes: “Debian must reconcile the central notion of each developer’s autonomy, and the respect for difference, with the constraints deriving from the production of a complex system with quality standards of the highest order.”20 So, the software is divided into modules “to give developers full administrative control over their packages or teams, in a mini-cathedral model.” The developers have to follow strict guidelines for their modules so they can be easily integrated into the whole. Debian also requires members of the community to maintain identities, rather than contribute anonymously, because only those who have earned the trust of their fellows are allowed access to key resources that, in the wrong hands, could bring down the entire software project. Debian distributes leadership and decision-making as widely and smoothly as it can while still meeting its core mission of creating efficient, scalable, powerful, reliable, innovative software.

See Science at Creative Commons Crick, Francis Crisis of knowledge CrisisCommons.org Crowds Crowdsourcing information amateur scientists British Parliamentarians’ use of expertise and leadership effectiveness Netflix contest open-notebook science Culture, information overload and Cybercascades Cyberchiefs: Autonomy and Authority in Online Tribes (O’Neil) Darnton, Robert DARPA (Defense Advanced Research Projects Agency) Darwin, Charles amateur scientists’ contributions barnacle studies Hunch.com and insight and leap of thought long-form thinking science and publishing Data accuracy of published data crowdsourcing scientific and medical information data commons evaluating metadata information and overaccumulation of scientific data scientific knowledge Data.gov Data-information-knowledge-wisdom (DIKW) hierarchy Davis, John Debian Decision-making advantages of networked corporate and government networked decision-making Debian community Dickover’s social solutions facing reality Wikipedia policy Defaults Democracy echo chambers hiding knowledge and increasing group polarization reason, truth, and knowledge Denney, Reuel Deolalikar, Vinay Derrida, Jacques Descartes, René Dialogue, exploring diversity through Dickens, Charles Dickover, Noel Diderot, Denis The Difference (Page) Discourses Diversity appropriate scoping decreasing intelligence echo chambers forking moderating negative effects of of expertise race and gender respectful conversations over DNA Dr.


pages: 77 words: 14,578

Manage Partitions With GParted (How-To) by Unknown

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, en.wikipedia.org

Following is a example listing of an iPod partition table with a type 0 partition: user@debian:~$ sudo fdisk -l /dev/sde Note: sector size is 2048 (not 512) Disk /dev/sde: 8120 MB, 8120172544 bytes 250 heads, 62 sectors/track, 255 cylinders Units = cylinders of 15500 * 2048 = 31744000 bytes Device Boot Start End Blocks Id System /dev/sde1 1 3 92876 0 Empty /dev/sde2 4 255 7812000 b W95 FAT32 user@debian:~$ Assuming the iPod is recognized as device /dev/sde, the steps to use fdisk to change the partition id type are as follows: user@debian:~$ sudo fdisk /dev/sde Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): 83 Changed system type of partition 1 to 83 (Linux) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. user@debian:~$ Use similar steps, as shown above, to set the type back to 0 (zero), instead of 83.

Her editing efforts toward style and clarity, along with help from the Packt Publishing team have enabled me to create a better book. About the Reviewers Andrew Bradford has been a developer on the Cross Linux From Scratch (http://cross-lfs.org) project and an active participant in the BeagleBoard.org community (http://beagleboard.org) since 2010. He's been using Linux since RedHat 7 and since then, except for 1 year with a Mac, has been running Linux on the desktop quite successfully. His current interests involve Debian, embedded Linux, flash memories, and Ruby on Rails. I'd like to thank my wife, Meghan, and my daughter, Erin. They're both amazing and they inspire me every day. Peter Wu is a Software Science student at the University of Technology at Eindhoven (The Netherlands). He is an enthusiastic supporter of open source software, helping other users and contributing code. Beyond installing and administrating various systems with Linux distributions, he has also been required to make sane partitioning schemes.


pages: 197 words: 35,256

NumPy Cookbook by Ivan Idris

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

business intelligence, cloud computing, computer vision, Debian, en.wikipedia.org, Eratosthenes, mandelbrot fractal, p-value, sorting algorithm, statistical model, transaction costs, web application

If you run into problems, you can ask for help at: The #scipy IRC channel of freenode, or The SciPy mailing lists at http://www.scipy.org/Mailing_Lists Installing PIL PIL, the Python imaging library, is a prerequisite for the image processing recipes in this chapter. How to do it... Let's see how to install PIL. Installing PIL on Windows: Install using the Windows executable from the PIL website http://www.pythonware.com/products/pil/. Installing on Debian or Ubuntu: On Debian or Ubuntu, install PIL using the following command: sudo apt-get install python-imaging Installing with easy_install or pip: At the time of writing this book, it appeared that the package managers of Red Hat, Fedora, and CentOS did not have direct support for PIL. Therefore, please follow this step if you are using one of these Linux distributions.Install with either of the following commands: easy_install PIL sudo pip install PIL Resizing images In this recipe, we will load a sample image of Lena, which is available in the SciPy distribution, into an array.

\easy_install-27-script.py pip Installing IPython On Mac OS X: Install the Apple Developer Tools (Xcode) if necessary. Xcode can be found on the OSX DVDs that came with your Mac or App Store. Follow the easy_install/pip instructions, or the installing from source instructions provided later in this section. Installing IPython On Linux: Because there are so many Linux distributions, this section will not be exhaustive.On Debian, type the following command: su – aptitude install ipython python-setuptools On Fedora, the magic command is as follows: su – yum install ipython python-setuptools-devel The following command will install IPython on Gentoo: su – emerge ipython For Ubuntu, the install command is as follows: sudo apt-get install ipython python-setuptools Installing IPython with easy_install or pip: Install IPython and all the dependencies required for the recipes in this chapter with easy_install, using the following command: easy_install ipython pyzmq tornado readline Alternatively, you can first install pip with easy_install, by typing the following command in your terminal: easy_install pip After that, install IPython using pip, with the following command: sudo pip install ipython pyzmq tornado readline Installing from source: If you want to use the bleeding edge development version, then installing from source is for you.Download the latest tarball from https://github.com/ipython/ipython/downloads.

Installing Matplotlib on Windows: Install with the Enthought distribution (http://www.enthought.com/products/epd.php).It might be necessary to put the msvcp71.dll file in your C:\Windows\system32 directory. You can get it from http://www.dll-files.com/dllindex/dll-files.shtml?msvcp71. Installing Matplotlib on Linux: Let's see how Matplotlib can be installed in the various distributions of Linux:The install command on Debian and Ubuntu is as follows: sudo apt-get install python-matplotlib The install command on Fedora/Redhat is as follows: su - yum install python-matplotlib Installing from source: Download the latest source from the tar.gz release at Sourceforge (http://sourceforge.net/projects/matplotlib/files/) or from the Git repository using the following command: git clone git://github.com/matplotlib/matplotlib.git Once it has been downloaded, build and install as usual with the following command: cd matplotlib python setup.py install Installing Matplotlib on Mac: Get the latest DMG file from http://sourceforge.net/projects/matplotlib/files/matplotlib/, and install it.


pages: 247 words: 62,845

VoIP Telephony with Asterisk by Unknown

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

call centre, Debian, failed state, framing effect, packet switching, telemarketer

There are many happy users of Asterisk systems. If you do your job right, your users will be happy. Chapter 5 - Install Linux and Asterisk Asterisk will run well with any stable Linux distribution. The bootable CD downloadable fromwww.mepis.org contains the Mepis distribution of Debian Linux. The Mepis distribution is pre-configured to make it easy to install Linux and Asterisk. You may choose to use a different distribution of Linux than Mepis. There are many excellent references available if you need to learn how to install or manage any Linux distribution including Debian versions. Booting from the Mepis CD on a PC provides immediate access to a working Linux system. Linux will boot and run from the CD without installing anything. You can run Linux from the included CD or you can permanently install Mepis Linux to a hard drive This book, and this chapter, assume that you are familiar with Linux administration and network administration.

"cd /usr/src/linux; make menuconfig" Load the current kernel config file and exit saving a new config. Execute this make command to create the modversion.h kernel header file. Zaptel requires this file be present. "make dep" The zaptel sources should compile now. Reporting Bugs If you find a bug with Asterisk, you should report it by going to bugs.digium.com. This is a great service to the Asterisk community. A Custom Debian Kernel If you have installed a custom Debian kernel, the kernel Makefile in /usr/src/linux/ Makefile may not have the correctEXTRAVERSION variable. If matching the Kernel, as described in the section directly above, doesn't work. examine the Makefile. Make sure the version information in the Makefile matches the information returned by the comman #uname - If needed, edit the Makefile and try compiling again. Installing Red Hat 9 At the time of writing, the complete guide to Red Hat 9 installation could be found at https:// www.redhat.com/docs/manuals/linux/ You should have the Red Hat Linux version 9 Installation media.

Hardware Interfaces Asterisk supports a variety of hardware interfaces for connecting telephony channels through a Linux computer. Zaptel Pseudo TDM Interfaces All Digium Hardware shares a common driver suite and uses a common interface library. Digium drivers are based on the Zapata Telephony Driver suite. This set of drivers is often called"Zaptel." Zapata is an open source project available athttp://packages.qa. debian.org/z/zaptel.html. The zaptel telephony infrastructure was jointly developed by Mark Spencer of Linux Support Services, Inc. an Jim Dixon of Zapata Telephony. Even if no interface cards are installed, you must install at least one Zaptel driver to enable conferencing. Asterisk does not require a sound board to operate unless you are using a soft phone on the computer running Asterisk. The zaptel interface uses the host processor to simulate the time division multiplexor (TDM) bus typically built into other telephony hardware interfaces (e.g.


pages: 241 words: 43,073

Puppet 3 Beginner's Guide by John Arundel

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

cloud computing, Debian, job automation, job satisfaction, Lao Tzu, Network effects, SpamAssassin

Case statements If you just have one or two choices to make, the if statement is ideal. However, if you need to choose between several alternatives, it becomes awkward to write: if $::operatingsystem == 'Ubuntu' { include os_specific::ubuntu } elsif $::operatingsystem == 'Debian' { include os_specific::debian } elsif $::operatingsystem == 'RedHat' { include os_specific::redhat } else { include os_specific::default } For situations like this, Puppet provides the case statement: case $::operatingsystem { 'Ubuntu': { include os_specific::ubuntu } 'Debian': { include os_specific::debian } 'RedHat': { include os_specific::redhat } default : { include os_specific::default } } case takes an expression and tries to match it against a list of values (the cases). If one matches, Puppet will apply the corresponding code block.

About the Reviewers Ugo Bellavance has done most of his studies in e-commerce, started using Linux at Red Hat 5.2, got Linux training from Savoir-Faire-Linux at the age of 20, and got his RHCE on RHEL 6 in 2011. He's been a consultant in the past, but he's now an employee for a provincial government agency for which he manages the infrastructure (servers, workstations, network, security, virtualization, SAN/NAS, PBX). He's a big fan of open-source software and its underlying philosophy. He's worked with Debian, Ubuntu, and SUSE, but what he knows best is RHEL-based distributions. He's known for his contributions to the MailScanner project (he has been a technical reviewer for the MailScanner book), but he also gave time to different open-source projects, such as mondorescue, OTRS, SpamAssassin, pfSense, and a few others. I thank my lover, Lysanne, who accepted allowing me some free time slots for this review even with a 2-year-old and a 6-month-old to take care of.

Here's how to install the package for Ubuntu 12.04 Precise: Download and install the Puppet Labs repo package as follows: ubuntu@demo:~$ wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb --2013-01-09 13:38:24-- http://apt.puppetlabs.com/puppetlabs-release-precise.deb Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 96.126.116.126, 2600:3c00::f03c:91ff:fe93:711a Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|96.126.116.126|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3392 (3.3K) [application/x-debian-package] Saving to: `puppetlabs-release-precise.deb' 100%[======================================>] 3,392 --.-K/s in 0.001s 2013-01-09 13:38:25 (2.54 MB/s) - `puppetlabs-release-precise.deb' saved [3392/3392] ubuntu@demo:~$ sudo dpkg -i puppetlabs-release-precise.deb Selecting previously unselected package puppetlabs-release. (Reading database ... 33153 files and directories currently installed.)


pages: 372 words: 67,140

Jenkins Continuous Integration Cookbook by Alan Berg

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

anti-pattern, continuous integration, Debian, en.wikipedia.org, Firefox, job automation, performance metric, revision control, web application, x509 certificate

The long-term support release The community manages support of the enterprise through the release of a long-term supported version of Jenkins. This stable release version is older than the newest version and thus misses out on some of the newer features. You can download it from: http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war. This recipe details the use of VirtualBox (http://www.virtualbox.org/), an open source virtual image player with a guest Debian OS image. The virtual image will mount a directory on the host server. You will then point Jenkins to the mounted directory. When the guest OS is restarted, it will automatically run against the shared directory. Throughout the rest of this book, recipes will be cited using Ubuntu as the example OS. Getting ready You will need to download and install VirtualBox. You can find the detailed instructions at http://www.virtualbox.org/manual.

Select Use existing hard disk. Browse and select the unpacked VDI image by clicking on the folder icon. Press the Create button. Start the virtual image by clicking on the Start icon. Log in to the guest OS with username and password as Ubuntu reverse. Change the password of user Ubuntu from a terminal.passwd Install the Jenkins repository, as explained at http://pkg.jenkins-ci.org/debian/. Update the OS in case of security patches (this may take some time depending on bandwidth):apt-get update apt-get upgrade Install the kernel dkms module.sudo apt-get install dkms Install Jenkins.sudo apt-get install jenkins Install the kernel modules for VirtualBox./etc/init.d/vboxadd setup Select Install Guest additions using the Devices menu option. Add the Jenkins user to the vboxsf group.sudo gedit /etc/group vboxsf:x:1001:Jenkins Modify the JENKINS_HOME variable in /etc/default/Jenkins to point to the mounted shared directory:sudo gedit /etc/default/Jenkins JENKINS_HOME=/media/sf_workspacej On the host OS, create the directory workspacej.

Please also turn off any enabled security within Jenkins; this allows w3af to freely roam the security surface. Please download the newest version of w3af from SourceForge (http://w3af.sourceforge.net/), and also download and read the OWASP top 10 list of well-known attacks at https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project. w3af has both a Windows and *NIX installation package; use the OS install of choice. Warning: The Debian package for w3af is older and more unstable than the SourceForge package for Linux. Therefore, please do not use the apt-get and yum methods of installation, but rather use the downloaded package from SourceForge. How to do it... Run w3af. Under the Profiles tab, select OWASP_TOP10. Under the Target: address window, fill in http://localhost:8080/, changing the hostname to suit your environment.


pages: 198 words: 26,435

Nmap Cookbook: The Fat-free Guide to Network Scanning by Nicholas Marsh

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian

Nmap® Cookbook The fat-free guide to network scanning 2 Nmap® Cookbook The Fat-free Guide to Network Scanning Copyright © 2010 Nicholas Marsh All rights reserved. ISBN: 1449902529 EAN-13: 9781449902520 www.NmapCookbook.com BSD® is a registered trademark of the University of California, Berkeley CentOS is property of CentOS Ltd. Debian® is a registered trademark of Software in the Public Interest, Inc Fedora® is a registered trademark of Red Hat, Inc. FreeBSD® is a registered trademark of The FreeBSD Foundation Gentoo® is a registered trademark of The Gentoo Foundation Linux® is the registered trademark of Linus Torvalds Mac OS X® is a registered trademark of Apple, Inc. Windows® is a registered trademark of Microsoft Corporation Nmap® is a registered trademark of Insecure.Com LLC Red Hat® is a registered trademark of Red Hat, Inc.

At the time of this writing Nmap version 5.00 was not available for automatic installation on some Linux distributions. For many, installing Nmap via the popular apt or yum package managers will only install Note version 4.x. If your distribution already has Nmap 5.00 in their repositories you can install Nmap by using the commands listed below. Otherwise, refer to page 26 to install Nmap 5.00 from source code. Installing Precompiled Packages for Linux For Debian and Ubuntu based systems # apt-get install nmap For Red Hat and Fedora based systems # yum install nmap For Gentoo Linux based systems # emerge nmap To check which version of Nmap you are running, type the following command on the command line: # nmap -V Nmap version 5.00 ( http://nmap.org ) 25 Compiling Nmap from Source for Unix and Linux Currently, the only way to get Nmap 5.00 for most Unix and Linux systems is to download and compile the source code from the nmap.org website.

The --fuzzy option is a synonym that can be used as an easy to remember Tip shortcut for the --osscan-guess feature. 93 Service Version Detection The -sV parameter enables Nmap’s service version detection feature. Usage syntax: nmap -sV [target] # nmap -sV 10.10.1.48 Starting Nmap 5.00 ( http://nmap.org ) at 2009-08-11 12:49 Central Daylight Time Interesting ports on 10.10.1.48: Not shown: 996 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.0.6 22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0) 25/tcp open smtp Postfix smtpd 80/tcp open http Apache httpd 2.2.8 ((Ubuntu)) MAC Address: 00:0C:29:D5:38:F4 (VMware) Service Info: Host: 10.10.1.48; OSs: Unix, Linux Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 8.33 seconds Output of Nmap’s service version detection feature The -sV option will attempt to identify the vendor and software version for any open ports it detects.


pages: 394 words: 110,352

The Art of Community: Building the New Age of Participation by Jono Bacon

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

barriers to entry, collaborative editing, crowdsourcing, Debian, en.wikipedia.org, Firefox, game design, Johann Wolfgang von Goethe, Jono Bacon, openstreetmap, Richard Stallman, Skype, social software, software as a service, telemarketer, web application

After spending a year in Russia training for a quick trip into space as the first South African space tourist, Mark started laying plans for a new Linux distribution. At the time, distributions were nothing new: Red Hat, Mandrake, Debian, and others were already producing comprehensive operating systems that technical types such as myself were not only using but trying to convince our reluctant friends and family to use. Mark’s vision was different, though. First, he wanted to build Ubuntu on the excellent foundation of the existing Debian distribution. To do this he hired some of the cream of the crop in the Debian community, and they set to work to build a powerful and easy-to-use operating system. His vision did not end there, though. Mark not only wanted to promote an open source operating system, he also wanted to have the operating system be openly governed.

Look at this show—you’ve got an interview with Quim Gil, which is about Maemo, not Ubuntu, the finger of God, which is plain silliness, the software vendors and security issue, which applies across the board, and packaging, which was fairly Ubuntu specific, but could easily relate across to other Debian-based distros, and, as Chris said, he would’ve talked about RPM if it had been possible. The “Ubuntu slant” is more about personal usage and experience, rather than a change in the show’s direction (which was unashamedly Debian slanted before Ubuntu came out....) In his three-paragraph response, mrben referred to 12 distinctive points and facts, citing many from existing online material. His response not only sought to convince the original poster of his error, but to demonstrate to the community that the poster was wrong, thus providing a sense of security.

Governance can really help here, under the proviso that the community respects the conclusions of the governance body. Extensive resources If you find that your community requires significant resources and some of these resources are donated, you may require a governing body to oversee the stewardship of these resources. An example of this could include a software project such as the Debian (http: //www.debian.org) project, which requires extensive resources such as servers, hosting, build farms, and more. Commercial interests When there are commercial interests in a community, a governance body can be useful to ensure that the community is “kept honest.” The governance body should be tasked with the responsibility of always maintaining and defending the primary values of the community and standing up against any improper requests that may result from commercial sponsors.

Common Knowledge?: An Ethnography of Wikipedia by Dariusz Jemielniak

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Andrew Keen, barriers to entry, citation needed, collaborative consumption, collaborative editing, conceptual framework, continuous integration, crowdsourcing, Debian, deskilling, digital Maoism, en.wikipedia.org, Filter Bubble, Google Glasses, Hacker Ethic, hive mind, Internet Archive, invisible hand, Jaron Lanier, jimmy wales, job satisfaction, Julian Assange, knowledge economy, knowledge worker, Menlo Park, moral hazard, online collectivism, pirate software, RFC: Request For Comment, Richard Stallman, Silicon Valley, Skype, slashdot, social software, Stewart Brand, The Nature of the Firm, The Wisdom of Crowds, transaction costs, WikiLeaks, wikimedia commons

In the case of such virtual self-managed teams, leadership is fluid and constantly emergent (Heckman, Crowston, & Misiolek, 2007). A study of the Debian (a free and open-source distribution of the Linux operating system) community, one of the often-researched examples from the F/LOSS movement, shows that in the beginning, charismatic authority mostly derives from earned respect often proven by leading a big, successful project. As a matter of fact, charismatic authority may be, in some circumstances, more “efficient” than authority deriving its legitimacy from well-established rules. (Garzarelli & Galoppini, 2003, p. 18) Later, once the project matures, it may turn to more formal but still community-driven institutions, such as a constitution and elected temporary leaders in the Debian case (Sadowski, Sadowski-Rasters, & Duysters, 2008). The creation of more formal democratic procedures may be a result of the project’s growth but also of the community’s discontent with an authoritarian approach of ad hoc leaders.

The creation of more formal democratic procedures may be a result of the project’s growth but also of the community’s discontent with an authoritarian approach of ad hoc leaders. In fact, the creation of a constitution and formalized governance for the Debian project was a result of one attempt at authoritarian leadership (Mateos-Garcia & Steinmueller, 2006), which faced strong ideological opposition from a significant part of the community. L e a d e r s h i p T r a n s f o r m e d   1 7 5 Antiauthoritarian resentments are strongly embedded in open-collaboration culture, harking back to the times of Usenet power struggles (Pfaffenberger, 1996). As a result of this process, the Debian community has neither one stable leader nor a clear decision-making cabal; it relies on “tribal distributed leadership” (O’Neil, 2009, p. 146). Similarly, Apache web server software relies on dispersed communities run by project leaders and supported (similar to Wikipedia) by a formal organization, the Apache Software Foundation (Conlon, 2007).

Nonbovine Ruminations blog. Retrieved from http://nonbovine-ruminations.blogspot.com/2007/12/other-shoe -drops.html Mateos-Garcia, J., & Steinmueller, W. (2006, October 26–27). Open, but how much? Growth, conflict and institutional evolution in Wikipedia and Debian. Paper presented at the DIME International Conference on Communities of Practice, Durham, England. Retrieved from http://www.dime-eu.org/files/active/1/cops2006_Mateos -Garcia_Steinmueller.pdf Mateos-Garcia, J., & Steinmueller, W. E. (2008). The institutions of open source software: Examining the Debian community. Information Economics and Policy, 20(4), 333–344. Matzat, U. (2010). Reducing problems of sociability in online communities: Integrating online communication with offline interaction. American Behavioral Scientist, 53(8), 1170–1193. Mauss, M. (1954/2001).


pages: 205 words: 47,169

PostgreSQL: Up and Running by Regina Obe, Leo Hsu

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

cloud computing, database schema, Debian, en.wikipedia.org, full text search, web application

We have instructions for installing using Yum in the Yum section of our PostgresOnLine journal site. Ubuntu, Debian, OpenSUSE Ubuntu is generally good about staying up to date with latest versions of PostgreSQL. Debian tends to be a bit slower. You can usually get the latest PostgreSQL on most recent versions of Ubuntu/Debian using a command along the lines of: sudo apt-get install postgresql-server-9.1 If you plan to be compiling any of the other additional add-ons not generally packaged with PostgreSQL, such as the PostGIS or R, then you’ll want to also install the development libraries: sudo apt-get install postgresql-server-dev-9.1 If you want to try the latest and greatest of PostgreSQL and not have to compile yourself, or the version of Ubuntu/Debian you have doesn’t have the latest version of PostgreSQL, then you’ll want to go with a backport.

You can usually get the latest PostgreSQL on most recent versions of Ubuntu/Debian using a command along the lines of: sudo apt-get install postgresql-server-9.1 If you plan to be compiling any of the other additional add-ons not generally packaged with PostgreSQL, such as the PostGIS or R, then you’ll want to also install the development libraries: sudo apt-get install postgresql-server-dev-9.1 If you want to try the latest and greatest of PostgreSQL and not have to compile yourself, or the version of Ubuntu/Debian you have doesn’t have the latest version of PostgreSQL, then you’ll want to go with a backport. Here are some that people use: OpenSCG Red Hat, Debian, Ubuntu, and OpenSuse PostgreSQL packages have PostgreSQL for latest stable and beta releases of PostgreSQL. Martin Pitt backports usually keeps Ubuntu installs for PostgreSQL two versions plus latest beta release of PostgreSQL. It also has releases currently for lucid, natty, and oneiric for core PostgreSQL and postgresql extensions. If you are interested in PostgreSQL for the GIS offerings, then UbuntuGIS may be something to check out for the additional add-ons like PostGIS and pgRouting, in addition to some other non-PostgreSQL-related GIS toolkits it offers. FreeBSD FreeBSD is a popular choice for PostgreSQL install. However, many people who use FreeBSD tend to compile their own directly from source rather than using a Port or package distribution.


pages: 1,202 words: 144,667

The Linux kernel primer: a top-down approach for x86 and PowerPC architectures by Claudia Salzberg Rodriguez, Gordon Fischer, Steven Smolski

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, domain-specific language, en.wikipedia.org, recommendation engine, Richard Stallman

Referring to the GPL, the license gives the freedom to charge for added value to the open-source software, such as these services provided in the code's redistribution. 1.4.1. Debian Debian[2] is a GNU/Linux operating system. Like other distributions, the majority of applications and tools come from GNU software and the Linux kernel. Debian has one of the better package-management systems, apt (advanced packaging tool). The major drawback of Debian is in the initial installation procedure, which seems to cause confusion among novice Linux users. Debian is not tied to a corporation and is developed by a community of volunteers. [2] http://www.debian.org. 1.4.2. Red Hat/Fedora Red Hat[3] (the company) is a major player in the open-source software-development arena. Red Hat Linux was the company's Linux distribution until recently (20022003) when it replaced its sole offering with two separate distributions Red Hat Enterprise Linux and the Fedora Core.

Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] $(Q) variable /dev directory /etc/fstab files _ _volatile__modifer 2nd 3rd 4th 5th 6th __builtin_expect() function __free_page() function __get_dma_pages() function __get_free_page() function __init macro 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] ABI (Application Binary Interface) absolute pathnames 2nd Accelerated Graphics Port (AGP) access devices 2nd DMA 2nd rights 2nd 3rd 4th 5th actiev_mm field (task_struct structure) activated field (task_struct structure) active_list field (memory zones) add_wait_queue() function add_wait_queue_exclusive() function adding caches 2nd 3rd 4th 5th 6th 7th 8th 9th code for system calls 2nd 3rd to wait queues address space fields task_struct structure 2nd address_space structure 2nd 3rd addresses intervals linear linear spaces memory management 2nd 3rd logical memory mm_struct 2nd 3rd 4th physical translation 2nd i386 Intel-based memory management virtual vm_area_struct 2nd 3rd 4th addressing devices Advanced Programmable Interrupt Controller (APIC) agetty programs AGP (Accelerated Graphics Port) algorithms big-o notations elevator aligning caches all_unreclaimable field (memory zones) alloc_page() function alloc_pages() function allocating memory kmalloc() function 2nd kmem_cache_alloc() function allocators slabs global variables 2nd memory management 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th anticipatory I/O schedulers anticipatory I/O scheduling APIC (Advanced Programmable Interrupt Controller) Application Binary Interface (ABI) Application Specific Integrated Circuit (ASIC) applications distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog filesystems 2nd 3rd 4th 5th 6th page caches 2nd 3rd 4th VFS structures 2nd 3rd 4th 5th 6th VFS system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th virtual 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th parallel ports ar command 2nd arch/ppc/ source code listings architecture assembly language example PowerPC 2nd 3rd 4th x86 2nd 3rd Big Endian/Little Endian CISC IHA inline assembly 2nd _ _volatile__modifer 2nd 3rd 4th 5th 6th asm keyword clobbered registers constraints input operands output operands parameter numbering memory initialization i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 PowerPC Linux Power UMA architetcure dependence RISC architetcure-dependent source code 2nd architetcure-independent source code 2nd areas memory 2nd arithmetic instructions (x86) array field (task_struct structure) arrays priority ASIC (Application Specific Integrated Circuit) asm keyword asmlinkage assemblers assembly asm keyword inline 2nd _ _volatile__modifer 2nd 3rd 4th 5th 6th clobbered registers constraints input operands output operands parameter numbering assembly languages example of PowerPC 2nd 3rd 4th x86 2nd 3rd PowerPC 2nd 3rd 4th x86 2nd 3rd 4th asynchronous events asynchronous execution flow exceptions 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th asynchronous I/O operations atomic flags [See also flags] attributes fields task_struct structure 2nd files Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Basic Input Output System (BIOS) BAT (Block Address Translation) Bell Laboratories Big Kernel Lock (BKL) Big-Endian big-o notations binary trees 2nd binfmt field (task_struct structure) BIOS (Basic Input Output System) BKL (Big Kernel Lock) Block Address Translation Block Address Translation (BAT) block devices block_device_operations structure blocked state blocked to ready transition state blocks devices 2nd disks blr (Branch to Link Register) boot loaders GRUB 2nd 3rd 4th LILO 2nd PowerPC 2nd Yaboot 2nd bottom-half interrupt handler methods bouncing Bourne shells branch instructions (PowerPC) Branch to Link Register (blr) bridges I/O 2nd 3rd buddy systems (memory management) 2nd 3rd 4th 5th buffer_head structure buffer_init() function calling 2nd buffers caches TLBs build_all_zonelists() function calling 2nd building kernels compilers cross compilers 2nd ELF object files 2nd 3rd 4th 5th 6th 7th 8th 9th linkers source build systems_ 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th toolchains 2nd parallel port drivers 2nd 3rd 4th 5th 6th 7th 8th busses I/O 2nd 3rd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] C language usage asmlinkage const keyword 2nd inline keyword UL volatile keyword 2nd cache_cache global variable cache_chain global variable cache_chain_sem global variable cache_grow() function 2nd 3rd cache_sizes descriptors caches aligning creating 2nd 3rd 4th 5th 6th 7th 8th 9th descriptors 2nd 3rd 4th destroying 2nd kmem_cache page pages address_space structures 2nd 3rd filesystems 2nd 3rd 4th tracing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th types of cahces buffers calaculations dynamic priority calibrate_delay() function calling 2nd 3rd call system VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th calling buffer_init() function 2nd build_all_zonelists() function 2nd calibrate_delay() function 2nd 3rd console_init() function 2nd init_IRQ() function 2nd 3rd late_time_init() function local_irq_enable() function lock_kernel() function 2nd mem_init() function 2nd 3rd 4th 5th 6th 7th 8th page_address_init() function 2nd 3rd 4th page_alloc_init() function 2nd page_writeback_init() function 2nd 3rd parse_args() function 2nd 3rd pgtable_cache_init() function 2nd printk() function proc_root_init() function 2nd 3rd profile_init() function radix_tree_init() function rcu_init() function rest_init() function 2nd sched_init() function 2nd 3rd security_scaffolding_startup() function setup_arch() function 2nd 3rd 4th 5th 6th setup_per_cpu_areas() function 2nd 3rd signals_init() function 2nd smp_prepare_boot_cpu() function 2nd softirq_init() function time_init() function 2nd trap_init() function vfs_cache_init() function 2nd 3rd 4th 5th 6th 7th 8th 9th calls [See system calls] process creation system 2nd clone() function 2nd 3rd do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd vfork() function 2nd capabilties fields task_struct structure 2nd characters devices 2nd 3rd 4th child processes 2nd children field (task_struct structure) chipsets CHRP (Common Hardware Reference Platform) CISC (Complex Instruction Set Computing) architecture clobbered registers 2nd clocks devices real-time 2nd 3rd 4th 5th 6th 7th 8th 9th clone() function 2nd 3rd close() function 2nd 3rd 4th 5th 6th 7th CML2 code inline assembly 2nd _ _volatile__ modifer 2nd 3rd 4th 5th 6th asm keyword clobbered registers constriants input operands output operands parameter numbering code generation phases coloring (slabs) comm field (task_struct structure) commands ar 2nd hexdump objcopy Common Hardware Reference Platform (CHRP) compilers 2nd asmlinkage cross 2nd Complex Instruction Set Computing (CISC) architecture components MBR compound pages computer programs [See also applications] condition register (CR) configuration kernel configuration tool configuring caches 2nd 3rd 4th 5th 6th 7th 8th 9th devices writing code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th initrd console_init() function calling 2nd const keyword 2nd constants UL marking constraints context context of execution context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th control of files control bits control information, transmitting controllers DMA 2nd interrupts controlling terminal count field (flags) count register (CTR) CPUs yielding 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th cpus_allowed field (task_struct structure) CR (condition register) create_process program 2nd 3rd credentials fields task_struct structure 2nd cross compilers 2nd cs_cachep field (cache descriptors) cs_dmacachep field (cache descriptors) cs_size field (cache desciptors) ctor field (cache descriptors) CTR (count register) current task structures current variable current working directories Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Data BAT (DBAT) data instructions (x86) data relocate (DR) data segments data structures VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th datatypes linked lists 2nd 3rd 4th searching 2nd 3rd trees binary 2nd red black 2nd DBAT (Data BAT) deactivating tasks dead processes deadline I/O schedulers deadlock Debian debugging device drivers 2nd DECLARE_WORK() macro declaring IOCTL numbers 2nd 3rd 4th decrementers defining execution contexts defunct processes dentry structures 2nd 3rd 4th 5th dependence architecture descriptors cache_sizes caches 2nd 3rd 4th files kmem_cache memory zones 2nd 3rd processes 2nd 3rd 4th 5th address space fields 2nd attribute fields 2nd capabilities fields 2nd credentials fields 2nd filesystem fields 2nd limitations fields 2nd 3rd relationship fields 2nd scheduling fields 2nd 3rd 4th descriptors (files) destroying caches 2nd devfs (Linux Device Filesystem) devices access 2nd addressing block characters 2nd drivers 2nd creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th debugging 2nd types of 2nd 3rd 4th files 2nd 3rd block devices 2nd characters 2nd clocks DMA 2nd generic block drivers 2nd 3rd networks operations 2nd request queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scheduling I/O 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th terminals models sysfs 2nd 3rd 4th pseudo Direct Memory Access (DMA) 2nd direct store segments directories 2nd /dev current working files 2nd 3rd fs/ home init/ kernel/ mm/ Page Global Directory working dirty pages, flushing 2nd disks blocks formatting initrd 2nd partitions 2nd distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog DMA (Direct Memory Access) 2nd dmesg tool do_exit() function 2nd 3rd 4th do_fork() function 2nd 3rd 4th 5th 6th do_page_fault() function DR (data relocate) driver tables drivers cource code traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th debugging 2nd devices 2nd parallel ports building 2nd 3rd 4th 5th 6th 7th 8th types of 2nd 3rd 4th wait queues 2nd 3rd 4th 5th work queues 2nd 3rd dtor field (cache descriptors) dumb terminals dynamic libraries dynamic priority calculations Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] EA (effective address) effective address (EA) effective group IDs effective user IDs elevator algorithms ELF (Executable and Linking Format) object files 2nd 3rd 4th 5th 6th 7th 8th 9th euid field (task_struct structure) events wait_event*() interfaces 2nd EXCEPTION() macro exceptions asynchronous execution flow 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th page faults PowerPC page faults exec() system calls Executable and Linking Format (ELF) object files 2nd 3rd 4th 5th 6th 7th 8th 9th executing processes adding to wait queues asynchronous execution flow 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th clone() function 2nd 3rd creating 2nd do_exit() function 2nd 3rd 4th do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd lifespans 2nd 3rd 4th 5th 6th 7th sys_exit() function 2nd termination tracking 2nd 3rd 4th 5th 6th 7th 8th 9th 10th vfork() funciton 2nd wait queues 2nd wait() function 2nd 3rd 4th 5th 6th wait_event*() interfaces 2nd waking up 2nd 3rd 4th schedulers context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th selecting tasks 2nd 3rd 4th 5th 6th 7th 8th 9th 10th yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th execution context of processes create_process program 2nd 3rd execution contexts, defining exit_code field (task_struct structure) exit_signal field (task_struct structure) exploration tools (kernels) ar command 2nd hexdump command mm objcopy command objdump/readelf 2nd EXPORT_SYMBOL macro exporting symbols extensions filenames external fragmentation external interrupts Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] faults (pages) 2nd memory management 2nd 3rd 4th 5th 6th 7th 8th 9th fdatasync system calls Fedora 2nd field handlers fields flags 2nd memory zones 2nd 3rd process descriptor address space 2nd attributes 2nd capabilities 2nd credentials 2nd filesystem 2nd limitations 2nd 3rd relationship 2nd scheduling 2nd 3rd 4th superblock structures 2nd 3rd operations 2nd 3rd task_struct structure address space 2nd attribute 2nd capabilities 2nd credentials 2nd filesystem 2nd limitations 2nd 3rd relationship 2nd scheduling 2nd 3rd 4th file descriptors file structures VFS 2nd 3rd filenames extensions files 2nd /etc/fstab attributes control descriptors devices 2nd 3rd block devices 2nd characters 2nd clocks DMA 2nd generic block drivers 2nd 3rd networks operations 2nd request queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scheduling I/O 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th terminals directories 2nd 3rd ELF 2nd 3rd 4th 5th 6th 7th 8th 9th filenames kernels 2nd protection 2nd 3rd 4th 5th metadata modes operations parameters offsetting pathnames 2nd processes close() function 2nd 3rd 4th 5th 6th 7th files_struct structure 2nd 3rd 4th fs_struct structure open() function 2nd 3rd 4th 5th 6th regular 2nd types 2nd types of files field (task_struct structure) files_struct structure 2nd 3rd 4th filesystems 2nd devfs fields task_struct structure 2nd handlers hierarchies implementing kernels 2nd layers 2nd 3rd 4th 5th 6th 7th navigating 2nd overview 2nd 3rd 4th 5th 6th page caches 2nd 3rd 4th performance types of VFS VFS structures 2nd 3rd 4th 5th 6th VFS system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th virtual 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th first_time_slice field (task_struct structure) fixed-point instructions (PowerPC) flags memory management 2nd flags field flags field (cache descriptors) flags field (task_struct structure) Flash flips 2nd 3rd floating-point instructions (PowerPC) flops 2nd 3rd flushing dirty pages 2nd for_each_zone() function fork() function 2nd fork() system calls forked processes formatting caches 2nd 3rd 4th 5th 6th 7th 8th 9th devices writing code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th disks fragmentation external frames pages memory management 2nd 3rd 4th 5th 6th 7th 8th free field (slab descriptors) free software 2nd Free Software Foundation (FSF) free_area field ( memory zones) free_page() function free_pages field (memory zones) front-side busses fs field (task_struct structure) fs/ directory fs_struct structure FSF (Free Software Foundation) fsgid field (task_struct structure) fsuid field (task_struct structure) fsync system calls funcitons nice() function is_highmem() kmalloc() 2nd kmem_cache_alloc() functions __builtin_expect() __free_page() __get_dma_pages() __get_free_page() add_wait_queue() add_wait_queue_exclusive() alloc_page() alloc_pages() cache_grow() 2nd 3rd close() 2nd 3rd 4th 5th 6th 7th context_switch() 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th do_exit() 2nd 3rd 4th do_page_fault() for_each_zone() free_page() helper memory zones 2nd is_normal() kmem_cache_destroy() 2nd likely() 2nd 3rd list_del() nice() open() 2nd 3rd 4th 5th 6th printk() process creation 2nd clone() function 2nd 3rd do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd vfork() function 2nd releases page frames requests page frames 2nd 3rd sched_fork() 2nd 3rd 4th 5th 6th 7th 8th scheduler_tick() start_kernel() 2nd calling buffer_init() function 2nd calling build_all_zonelists() function 2nd calling calibrate_delay() function 2nd 3rd calling console_init() function 2nd calling init_IRQ() function 2nd 3rd calling late_time_init() function calling local_irq_enable() function calling lock_kernel() function 2nd calling mem_init() function 2nd 3rd 4th 5th 6th 7th 8th calling page_address_init() function 2nd 3rd 4th calling page_alloc_init() function 2nd calling page_writeback_init() function 2nd 3rd calling parse_args() function 2nd 3rd calling pgtable_cache_init() function 2nd calling printk() function calling proc_root_init() function 2nd 3rd calling profile_init() function calling radix_tree_init() function calling rcu_init() function calling rest_init() function 2nd calling sched_init() function 2nd 3rd calling security_scaffolding_startup() function calling setup_arch() function 2nd 3rd 4th 5th 6th calling setup_per_cpu_areas() function 2nd 3rd calling signals_init() function 2nd calling smp_prepare_boot_cpu() function 2nd calling softirq_init() function calling time_init() function 2nd calling trap_init() function calling vfs_cache_init() function 2nd 3rd 4th 5th 6th 7th 8th 9th switch() switch_to() 2nd synchronous sys_exit() 2nd unlikely() 2nd 3rd wait() 2nd 3rd 4th 5th 6th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] GEC (General Electric Company) General Electric Company (GEC) general purpose caches general-purpose registers (GPRs) generic block device layers 2nd generic block driver layers 2nd 3rd Gentoo 2nd geometry of hard drives gfp_mask integer value gfpflags field (cache descriptors) gfporder field (cache descriptors) GID (group ID) 2nd global variables local list references 2nd slab allocators 2nd 3rd GMCH (Graphics and Memory Controller Hub) GNU General Public License (GPL) GPL (GNU General Public License) GPRs (general-purpose registers) Grand Unified Bootleader (GRUB) 2nd 3rd 4th Graphics and Memory Controller Hub (GMCH) group ID (GID) 2nd group_info field (task_struct structure) 2nd group_leader field (task_struct structure) GRUB (Grand Unified Botloader) 2nd 3rd 4th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] handlers filesystems page faults 2nd 3rd 4th 5th 6th 7th hard drives geometry of hard links hardware I/O 2nd 3rd parallel ports headers ELF 2nd tables programs 2nd sections 2nd heads heaps helper functions memory zones 2nd Hertz (HZ) Hertz, Heinrich hexdump command hierarchies filesystems High Performance Event Timer (HPET) history of UNIX 2nd home directories host systems HPET (High Performance Event Timer) hubs hw_interrupt_type structure hw_irq_controller structure HyperTransport technology HZ (Hertz) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] I/O asynchronous operations devices block devices 2nd characters 2nd clocks DMA 2nd files 2nd generic block drivers 2nd 3rd networks operations 2nd request queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scheduling 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th terminals hardware 2nd 3rd I/O (input/output) I/O Controller Hub (ICH) i386 Intel-based memeory management 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th IBAT (Instruction BAT) ICH (I/O Controller Hub) IDT (Interrupt Descriptor Table) 2nd IHA (Intel Hub Architecture) images kernels building 2nd 3rd implementing filesystems implicit kernel preemption 2nd 3rd 4th implicit user preemption 2nd inactive_list field (emory zones) inb (read in a byte) index nodes init process 2nd 3rd init threads (Process 1) 2nd 3rd 4th 5th 6th init/ directory init_IRQ() function calling 2nd 3rd initial RAM disk (initrd) 2nd initializing architecture-dependent memory i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 irqaction struct kernels systems initrd configuring initrd (initial RAM disk) 2nd inline assembly 2nd _ _volatile__modifer 2nd 3rd 4th 5th 6th asm keyword clobbered registers constraints input operands output operands parameter numbering inline keyword inode strcutures inode structures 2nd 3rd 4th inodes input operands input/output [See I/O] Instruction BAT (IBAT) instruction relocate (IR) Intel Hub Architecture (IHA) interactive processes interactive tasks interactive_credit field (task_struct structure) interfaces ABI I/O 2nd 3rd users wait_event*() 2nd Interrupt Descriptor Table (IDT) 2nd interrupt-acknowledge cycle interrupts 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th context controllers polling and 2nd 3rd 4th 5th intervals addresses inuse field (slab descriptors) IOCTL numbers, declaring 2nd 3rd 4th IPC (Interprocess Communication) IR (instruction relocate) IRQ structures irq_desc_t structure irqaction struct irqaction structs, initializing IS_ERR macro is_highmem() function is_normal() function Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] jiffies 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] kernel messages /var/log/messages dmesg printk() function kernel configuration tool kernel mode kernel/ directory kernels architecture-dependent memory initialization i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 boot loaders GRUB 2nd 3rd 4th LILO 2nd PowerPC 2nd Yaboot 2nd create_process program 2nd 3rd datatypes linked lists 2nd 3rd 4th searching 2nd 3rd trees 2nd 3rd 4th 5th distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog explicit kernel preemption exploration tools ar command 2nd hexdump command mm objcopy command objdump/readelf 2nd implicit kernel preemption 2nd 3rd 4th init threads (Process 1) 2nd 3rd 4th 5th 6th initialization memory 2nd organization overview of access rights 2nd 3rd 4th 5th device drivers 2nd files/filesystems 2nd processes 2nd 3rd schedulers system calls 2nd UID 2nd user interfaces release information 2nd source build systems 2nd architecture-dependent source code 2nd architecture-independent source code 2nd images 2nd 3rd Linux makefiles 2nd 3rd sub-makefiles 2nd 3rd space start_kernel() function 2nd calling buffer_init() function 2nd calling build_all_zonelists() function 2nd calling calibrate_delay() function 2nd 3rd calling console_init() function 2nd calling init_IRQ() function 2nd 3rd calling late_time_init() function calling local_irq_enable() function calling lock_kernel() function 2nd calling mem_init() function 2nd 3rd 4th 5th 6th 7th 8th calling page_address_init() function 2nd 3rd 4th calling page_alloc_init() function 2nd calling page_writeback_init() function 2nd 3rd calling parse_args() function 2nd 3rd calling pgtable_cache_init() function 2nd calling printk() function calling proc_root_init() function 2nd 3rd calling profile_init() function calling radix_tree_init() function calling rcu_init() function calling rest_init() function 2nd calling sched_init() function 2nd 3rd calling security_scaffolding_startup() function calling setup_arch() function 2nd 3rd 4th 5th 6th calling setup_per_cpu_areas() function 2nd 3rd calling signals_init() function 2nd calling smp_prepare_boot_cpu() function 2nd calling softirq_init() function calling time_init() function 2nd calling trap_init() function calling vfs_cache_init() function 2nd 3rd 4th 5th 6th 7th 8th 9th toolchains 2nd compilers cross compilers 2nd ELF object files 2nd 3rd 4th 5th 6th 7th 8th 9th linkers keywords asm const 2nd inline volatile 2nd kmalloc() function 2nd kmem_cache descriptors kmem_cache_alloc() function kmem_cache_destroy() function 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] languages assembly example of 2nd 3rd 4th 5th 6th 7th 8th PowerPC 2nd 3rd 4th x86 2nd 3rd 4th C asmlinkage const keyword 2nd inline keyword UL volatile keyword 2nd late_time_init() function calling latency layers filesystems 2nd 3rd 4th 5th 6th 7th generic block device 2nd generic block drivers 2nd 3rd layouts source code li RT, RS, SI (Load Immediate) libraries licenses GPL lifecycles slab allocators 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th lifespans of process descriptors 2nd 3rd processes states 2nd transitions (states) 2nd 3rd 4th 5th 6th likely() function 2nd 3rd LILO (LInux LOader) 2nd limitations fields task_struct structure 2nd 3rd linear address spaces memory management 2nd 3rd linear addresses link editors link register (LR) linked lists 2nd 3rd 4th linkers links 2nd 3rd 4th Linux filesystems [See filesystems] makefiles 2nd 3rd process structures linear address spaces 2nd 3rd memory management 2nd 3rd 4th 5th 6th page faults 2nd 3rd 4th 5th 6th 7th 8th 9th page tables 2nd Linux Device Filesystem (devfs) LInux LOader (LILO) 2nd Linux Power list field (flags) list field (slab descriptors) list_del() function lists clobber linked 2nd 3rd 4th local references (global variables and) 2nd searching 2nd 3rd slab descriptors work queues lists field (cache descriptors) lists,next_reap lists.slabs_free lists.slabs_full lists.slabs_partial Little Endian Load Immediate (li_RT,_RS,_SI) Load Word and Zero (lwz_RT,_D(RA)) local list references 2nd local stacks asmlinkage local_irq_enable() function calling lock field (memory zones) lock_kernel() function calling 2nd locking spinlocks 2nd 3rd 4th 5th logical addresses logical disks login programs LR (link register) lru field (flags) lru_lock field (memory zones) ls /usr/src/linux/arch lwz RT, D(RA) (Load Word and Zero) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Machine State Register (MSR) macros __init 2nd DECLARE_WORK() EXCEPTION() EXPORT_SYMBOL IS_ERR PTR_ERR makefiles Linux 2nd 3rd sub-makefiles 2nd 3rd malloc_sizes[] global variable management memory 2nd 3rd linear address spaces 2nd 3rd Linux process structures 2nd 3rd 4th 5th 6th page faults 2nd 3rd 4th 5th 6th 7th 8th 9th page frames 2nd 3rd 4th 5th 6th 7th 8th page tables 2nd pages 2nd 3rd request paths 2nd slab allocators 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th zones 2nd 3rd Mandriva mapping memory processes 2nd mappng field (flags) marking constants UL Master Boot Record (MBR) MBR (Master Boot Record) MCH (Memory Controller Hub) mem_init() function calling 2nd 3rd 4th 5th 6th 7th 8th memory addresses mm_struct 2nd 3rd 4th vm_area_struct 2nd 3rd 4th addressing architecture-dependent initialization i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 areas 2nd buffer_head structures DMA 2nd initrd 2nd kernels 2nd kmalloc() function 2nd kmem_cache_alloc() function management 2nd 3rd linear address spaces 2nd 3rd Linux process structures 2nd 3rd 4th 5th 6th page faults 2nd 3rd 4th 5th 6th 7th 8th 9th page frames 2nd 3rd 4th 5th 6th 7th 8th page tables 2nd pages 2nd 3rd request paths 2nd slab allocators 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th zones 2nd 3rd manager processes mapping 2nd regions users 2nd 3rd 4th virtual Memory Controller Hub (MCH) Memory Management Unit (MMU) memory-mapped I/O messages kernels /var/log/messages dmesg printk() function metadata files mingetty programs Minix MIT mm field (task_struct structure) mm utility mm/ directory mm_struct structure 2nd 3rd 4th MMU (Memory Management Unit) models devices sysfs and 2nd 3rd 4th modes files kernel sgid sticky suid user modifiers _ _volatile__ 2nd 3rd 4th 5th 6th modules source code traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th monolithic systems mount points mount systems MSR (Machine State Register) Multiboot Specification (GRUB) MULTiplexed Information and Computing Service (MULTICS) multiprogramming multiuser timesharing Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] name field (cache descriptors) named pipes navigating filesystems 2nd networks devices next field (cache descriptors) nice() funciton nice() function nivcsw field (task_struct structure) no-op no-op I/O schedulers nodes index non-executable ELF file sections 2nd non-volatile storage Northbridge 2nd notations big-o notification parents 2nd 3rd 4th 5th 6th notifier chains num field (cache descriptors) numbering parameters numbers IOCTL delcaring 2nd 3rd 4th nvcsw field (task_struct structure) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] O(1) schedulers context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th CPUs yielding 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th tasks selecting 2nd 3rd 4th 5th 6th 7th 8th 9th 10th objcopy command objdump utility 2nd object languages objects create_process program 2nd 3rd ELF 2nd 3rd 4th 5th 6th 7th 8th 9th file formats linked lists 2nd 3rd 4th searching 2nd 3rd trees binary 2nd red black 2nd objsize field (cache descriptors) OF (Open Firmware) 2nd offsetting descriptors offsetting file parameters Open Firmware (OF) 2nd Open Programmable Interrupt Controller (OpenPIC) open source software 2nd open() function 2nd 3rd 4th 5th 6th OpenPIC (Open Programmable Interrupt Controller) operating systems create_process program 2nd 3rd overview of 2nd operations asynchronous I/O devices 2nd files superblock structures 2nd 3rd optimizers optimizing filesystems organization of kernels outb (write out a byte) output operands overview of Linux Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] padding zones page caches address_space structures 2nd 3rd tracing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th Page Directory Entry (PDE) page faults page frames Page Global Directory Page Table Entry (PTE) 2nd page_address_init() function calling 2nd 3rd 4th page_alloc_init() function calling 2nd page_writeback_init() function calling 2nd 3rd pages caches filesystems 2nd 3rd 4th compound dirty flushing 2nd faults memory management 2nd 3rd 4th 5th 6th 7th 8th 9th flags fields 2nd frames memory management 2nd 3rd 4th 5th 6th 7th 8th memory management 2nd 3rd tables memory management 2nd pages_high field (memory zones) pages_min, pages_low field (memory zones) pages_scanned, temp_priority field (memory zones) paging parallel port drivers, building 2nd 3rd 4th 5th 6th 7th 8th parameters asmlinkage files offsetting numbering parent field (task_struct structure) parent processes 2nd parents notification 2nd 3rd 4th 5th 6th parse_args() function calling 2nd 3rd partitions 2nd disks pathnames 2nd files 2nd paths requests memory management 2nd PCI busses PDE (Page Directory Entry) pdeath field (task_struct structure) performance filesystems pgtable_cache_init() function calling 2nd phases of compiling physical addresses PIC (Programmable Interrupt Controller) pid field (task_struct structure) PID process ID) pipes named PIT (Programmable Interval Time) pivoting the root plugging policy field (task_struct structure) polling and interrupts 2nd 3rd 4th 5th portability ports I/O 2nd 3rd parallel drivers building 2nd 3rd 4th 5th 6th 7th 8th PowerPC architecture-dependent memory intialization 2nd 3rd 4th 5th 6th 7th 8th 9th 10th assembly languages 2nd 3rd 4th example 2nd 3rd 4th bootloaders 2nd page fault exceptions x86 code convergence PowerPC architecture Linux Power PowerPC Reference Platform (PreP) PPC real-time clocks reading preemption tasks explicit kernel implicit kernel 2nd 3rd 4th implicit user 2nd PreP (PowerPC Reference Platform) prev_priority field (memory zones) principle of locality printk() function calling prio field (task_struct structure) priority dynamic calaculations processes priority arrays proc_root_init() function calling 2nd 3rd process 0 Process 0 process 1 Process 1 Process 1 (init threads) 2nd 3rd 4th 5th 6th process ID (PID) process status (ps) processes 2nd 3rd 4th asynchronous execution flow exceptions 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th clone() function 2nd 3rd context create_process program 2nd 3rd creating 2nd 3rd dead descriptors 2nd 3rd 4th 5th address space fields 2nd attribute fields 2nd capabilities fields 2nd credentials fields 2nd filesystem fields 2nd limitations fields 2nd 3rd relationship fields 2nd scheduling fields 2nd 3rd 4th do_fork() function 2nd 3rd 4th 5th 6th files close() function 2nd 3rd 4th 5th 6th 7th files_struct structure 2nd 3rd 4th fs_struct structure open() function 2nd 3rd 4th 5th 6th fork() function 2nd init interactive lifespans states 2nd Linux memory management 2nd 3rd 4th 5th 6th memory mapping 2nd priority running schedulers selecting tasks sleeping spawning termination do_exit() function 2nd 3rd 4th sys_exit() function 2nd wait() function 2nd 3rd 4th 5th 6th tracking 2nd 3rd 4th 5th 6th 7th 8th 9th 10th transitions states 2nd 3rd 4th 5th 6th types of vfork() function 2nd wait queues 2nd adding to wait_event*() interfaces 2nd waking up 2nd 3rd 4th zombie profile_init() function calling program header tables 2nd Programmable Interrupt Controller (PIC) Programmable Interval Time (PIT) programming filesystems 2nd 3rd 4th 5th 6th page caches 2nd 3rd 4th VFS structures 2nd 3rd 4th 5th 6th VFS system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th virtual 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th programs create_process 2nd 3rd protected mode (memory management) 2nd protection files 2nd 3rd 4th 5th ps (process status) pseudo devices PTE (Page Table Entry) 2nd PTR_ERR macro ptrace field (task_struct structure) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] queues request utilities requests 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th run system requests wait 2nd 3rd 4th 5th 6th 7th adding to wait_event*() interfaces 2nd waking up 2nd 3rd 4th work 2nd 3rd lists tasklets 2nd 3rd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] radix_tree_init() function calling RAM initrd 2nd rcu_init() function calling readelf utility 2nd reading PPC real-time clocks real-time clocks x86 ready state ready to running state transition real addressing real group IDs real mode real user IDs real-time clocks 2nd 3rd 4th 5th 6th 7th 8th 9th real_parent field (task_struct structure) receiving data from devices red black trees 2nd Red Hat 2nd Reduced Instruction Set Computing (RISC) architecture references local lists (global variables and) 2nd regions memory registers clobbered PowerPC segment SPRs regular files 2nd relationships fields task_struct structure 2nd makefiles 2nd 3rd relative pathnames 2nd release information (kernels) 2nd releases functions page frames relocatable object code relocation requests functions page frames 2nd 3rd paths memory management 2nd queue utilities queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th system queues respawning programs rest_init() function calling 2nd rights access 2nd 3rd 4th 5th RISC (Reduced Instruction Set Computing) architecture Ritchie, Dennis rlim field (task_struct structure) root of users root threads rt_priority field (task_struct structure) rules schedulers run queues 2nd run_list field (task_struct structure) runnable states (processes) running processes running to blocked state transition running to ready state transition Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] s_mem field (slab descriptors) scanner phases sched_fork() function 2nd 3rd 4th 5th 6th 7th 8th sched_init() function calling 2nd 3rd scheduler_tick() function schedulers 2nd anticipatory creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th deadline I/O no-op I/O O(1) context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th selecting tasks 2nd 3rd 4th 5th 6th 7th 8th 9th 10th yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th rules scheduling fields task_struct structure 2nd 3rd 4th I/O 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scripts SDR1 (Storage Description Register 1) searching datatypes 2nd 3rd sections header tables 2nd non-executable ELF files 2nd security_scaffolding_startup() function calling Segment Registers Segmented Address Translation segments data text selecting tasks schedulers 2nd 3rd 4th 5th 6th 7th 8th 9th 10th semantic attributes semaphores 2nd 3rd 4th 5th setup_arch() function calling 2nd 3rd 4th 5th 6th setup_per_cpu_areas() function calling 2nd 3rd sgid field (task_struct structure) sgid mode shared libraries sibling field (task_struct structure) sibling processes signals_init() function calling 2nd SIGSTOP slabp_cache field (cache descriptors) slabs allocators global variables 2nd 3rd memory management 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th coloring sleep_avg field (task_struct structure) sleeping processes smp_prepare_boot_cpu() function calling 2nd sockets 2nd soft links softirq_init() function calling software [See applications] free/open source 2nd source build systems 2nd architecture-dependent source code 2nd architecture-independent source code 2nd images 2nd 3rd Linux makefiles 2nd 3rd sub-makefiles 2nd 3rd source code system calls adding 2nd 3rd traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th writing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th Southbridge 2nd space kernels users spaces addresses memory management 2nd 3rd virtual addresses spawning processes special purpose registers (SPRs) specialized caches spinlocks 2nd 3rd 4th 5th SPRs (special purpose registers) stacks asmlinkage standards start_kernel() function 2nd buffer_init() function calling 2nd build_all_zonelists() function calling 2nd calibrate_delay() function calling 2nd 3rd console_init() function calling 2nd init_IRQ() function calling 2nd 3rd late_time_init() function calling local_irq_enable() function calling lock_kernel() function calling 2nd mem_init() function calling 2nd 3rd 4th 5th 6th 7th 8th page_address_init() function calling 2nd 3rd 4th page_alloc_init() function calling 2nd page_writeback_init() function calling 2nd 3rd parse_args() function calling 2nd 3rd pgtable_cache_init() function calling 2nd printk() function calling proc_root_init() function calling 2nd 3rd profile_init() function calling radix_tree_init() function calling rcu_init() function calling rest_init() function calling 2nd sched_init() function calling 2nd 3rd security_scaffolding_startup() function calling setup_arch() function calling 2nd 3rd 4th 5th 6th setup_per_cpu_areas() function calling 2nd 3rd signals_init() function calling 2nd smp_prepare_boot_cpu() function calling 2nd softirq_init() function calling time_init() function calling 2nd trap_init() function calling vfs_cache_init() function calling 2nd 3rd 4th 5th 6th 7th 8th 9th state processes lifespans 2nd 3rd transitions 2nd 3rd 4th 5th 6th state field (task_struct structure) states ready static libraries static_prio field (task_struct structure) statically allocated major devices status processes sticky mode Storage Description Register 1 (SDR1) Store Word with Update (stwu_RS,_D(RA)) structures address_space 2nd 3rd block_device_operations buffer_head current task dentry 2nd 3rd 4th file VFS 2nd 3rd files_struct 2nd 3rd 4th fs_struct hw_interrupt_type hw_irq_controller inode 2nd 3rd 4th IRQ irq_desc_t mm_struct 2nd 3rd 4th processes (Linux) memory management 2nd 3rd 4th 5th 6th superblock 2nd 3rd operations 2nd 3rd task_struct 2nd 3rd address space fields 2nd attribute fields 2nd capabilities fields 2nd credentials fields 2nd filesystem fields 2nd limitations fields 2nd 3rd relationship fields 2nd scheduling fields 2nd 3rd 4th VFS 2nd 3rd 4th 5th 6th vm_area_struct 2nd 3rd 4th wait queues 2nd adding to struuctures data VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th stwu RS, D(RA) (Store Word with Update) sub-makefiles 2nd 3rd subdirectories architecture-independent suid field (task_struct structure) suid mode super_operations structure superblock structures 2nd 3rd 4th operations 2nd 3rd Superio chips superusers SUSE switch() function switch_to() function 2nd switching tasks explicit kernel preemption implicit kernel preemption 2nd 3rd 4th implicit user preemption 2nd symbol resolution symbolic links symbols exporting sync system calls synchronous functions synchronous interrupts syntactical rules sys_exit() function 2nd sysfs device models and 2nd 3rd 4th system calls 2nd 3rd 4th 5th 6th 7th clone() function 2nd 3rd code adding 2nd 3rd do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd source code traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th vfork() function 2nd VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th system clocks real-time 2nd 3rd 4th 5th 6th 7th 8th 9th system request queues system timers 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th systems initializing Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] tables drivers headers programs 2nd sections 2nd pages memory management 2nd Tanenbaum, Andrew target system TASK_INTERRUPTIBLE state task_list TASK_RUNNING state TASK_STOPPED state task_struct structure 2nd 3rd fields address space 2nd attributes 2nd capabilities 2nd credentials 2nd filesystem 2nd limitations 2nd 3rd relationship 2nd scheduling 2nd 3rd 4th TASK_UNINTERRUPTIBLE state TASK_ZOMBIE state tasklets work queues and 2nd 3rd tasks current task structure deactivating interactive preemption explicit kernel implicit kernel 2nd 3rd 4th implicit user 2nd schedulers context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th selecting 2nd 3rd 4th 5th 6th 7th 8th 9th 10th yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th system clocks real-time 2nd 3rd 4th 5th 6th 7th 8th 9th terminals devices termination processes do_exit() function 2nd 3rd 4th sys_exit() function 2nd wait() function 2nd 3rd 4th 5th 6th text segments the contextual analysis phases Thompson, Ken threads init (Process 1) 2nd 3rd 4th 5th 6th time_init() function calling 2nd time_slice field (task_struct structure) timers real-time clocks 2nd 3rd 4th 5th 6th 7th 8th 9th timers (system) 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th timesharing users timeslices 2nd 3rd timestamp field (task_struct structure) timestamsps schedulers TLBs (Translation Lookaside Buffers) toolchains 2nd compilers cross 2nd ELF object files 2nd 3rd 4th 5th 6th 7th 8th 9th linkers tools distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog dmesg exploration (kernels) ar command 2nd hexdump command mm objcopy command objdump/readelf 2nd kernel configuration top-half interrupt handler methods Torvalds, Linus tracing page caches 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th tracking processes 2nd 3rd 4th 5th 6th 7th 8th 9th 10th tracks 2nd transitions prcess state process state 2nd 3rd 4th 5th 6th translation addresses i386 Intel-based PPC Translation Lookaside Buffers (TLBs) transmitting control information trap_init() function calling traps traversing source code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th trees binary 2nd red black 2nd troubleshooting device drivers debugging 2nd filesystems optimizing types of drivers 2nd 3rd 4th of files 2nd 3rd of filesystems of interrupt handlers Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] UID (user ID) 2nd UL (unsigned long) UMA (Universal Motherboard Architecture) Universal Motherboard Architecture (UMA) UNIX history of 2nd unlikely() function 2nd 3rd unlpugging unsigned long (UL) user ID (UID) 2nd user mode users implicit user preemption 2nd interfaces space superusers utilities request queues Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] VA (virtual address) values flags variables $(Q) variable current global local list references 2nd slab allocators 2nd 3rd HZ vectors versions kernels release information 2nd vfork() function 2nd VFS structures 2nd 3rd 4th 5th 6th system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th VFS (virtual filesystem) vfs_cache_init() function calling 2nd 3rd 4th 5th 6th 7th 8th 9th virtual address (VA) virtual addresses virtual addressing virtual field (flags) virtual filesystem (VFS) virtual filesystems 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th virtual memory virtual page number (VPN) virtual segment ID (VSID) virtual terminals vm_area_struct structure 2nd 3rd 4th volatile keyword 2nd VPN (virtual page number) VSID (virtual segment ID) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] wait queues 2nd 3rd 4th 5th 6th 7th adding to wait_event*() interfaces 2nd waking up 2nd 3rd 4th wait() function 2nd 3rd 4th 5th 6th wait() system calls wait_event*() interfaces 2nd wait_table, wait_table_size field (memory zones) wait_table_bits field (memory zones) waking up wait queues 2nd 3rd 4th window managers distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog wireless LAN [See WLAN] WLAN (wireless LAN) work queues 2nd 3rd lists tasklets 2nd 3rd working directories writing source code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] x86 assembly languages 2nd 3rd 4th example 2nd 3rd PowerPC code convergence real-time clocks reading x86 interrupt flow x86 interrupt vector tables Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Yaboot bootloaders 2nd Yellow Dog yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] zombie processes 2nd zombies zones memory management 2nd 3rd padding Table of Contents Chapter 1.

Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] $(Q) variable /dev directory /etc/fstab files _ _volatile__modifer 2nd 3rd 4th 5th 6th __builtin_expect() function __free_page() function __get_dma_pages() function __get_free_page() function __init macro 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] ABI (Application Binary Interface) absolute pathnames 2nd Accelerated Graphics Port (AGP) access devices 2nd DMA 2nd rights 2nd 3rd 4th 5th actiev_mm field (task_struct structure) activated field (task_struct structure) active_list field (memory zones) add_wait_queue() function add_wait_queue_exclusive() function adding caches 2nd 3rd 4th 5th 6th 7th 8th 9th code for system calls 2nd 3rd to wait queues address space fields task_struct structure 2nd address_space structure 2nd 3rd addresses intervals linear linear spaces memory management 2nd 3rd logical memory mm_struct 2nd 3rd 4th physical translation 2nd i386 Intel-based memory management virtual vm_area_struct 2nd 3rd 4th addressing devices Advanced Programmable Interrupt Controller (APIC) agetty programs AGP (Accelerated Graphics Port) algorithms big-o notations elevator aligning caches all_unreclaimable field (memory zones) alloc_page() function alloc_pages() function allocating memory kmalloc() function 2nd kmem_cache_alloc() function allocators slabs global variables 2nd memory management 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th anticipatory I/O schedulers anticipatory I/O scheduling APIC (Advanced Programmable Interrupt Controller) Application Binary Interface (ABI) Application Specific Integrated Circuit (ASIC) applications distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog filesystems 2nd 3rd 4th 5th 6th page caches 2nd 3rd 4th VFS structures 2nd 3rd 4th 5th 6th VFS system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th virtual 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th parallel ports ar command 2nd arch/ppc/ source code listings architecture assembly language example PowerPC 2nd 3rd 4th x86 2nd 3rd Big Endian/Little Endian CISC IHA inline assembly 2nd _ _volatile__modifer 2nd 3rd 4th 5th 6th asm keyword clobbered registers constraints input operands output operands parameter numbering memory initialization i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 PowerPC Linux Power UMA architetcure dependence RISC architetcure-dependent source code 2nd architetcure-independent source code 2nd areas memory 2nd arithmetic instructions (x86) array field (task_struct structure) arrays priority ASIC (Application Specific Integrated Circuit) asm keyword asmlinkage assemblers assembly asm keyword inline 2nd _ _volatile__modifer 2nd 3rd 4th 5th 6th clobbered registers constraints input operands output operands parameter numbering assembly languages example of PowerPC 2nd 3rd 4th x86 2nd 3rd PowerPC 2nd 3rd 4th x86 2nd 3rd 4th asynchronous events asynchronous execution flow exceptions 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th asynchronous I/O operations atomic flags [See also flags] attributes fields task_struct structure 2nd files Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Basic Input Output System (BIOS) BAT (Block Address Translation) Bell Laboratories Big Kernel Lock (BKL) Big-Endian big-o notations binary trees 2nd binfmt field (task_struct structure) BIOS (Basic Input Output System) BKL (Big Kernel Lock) Block Address Translation Block Address Translation (BAT) block devices block_device_operations structure blocked state blocked to ready transition state blocks devices 2nd disks blr (Branch to Link Register) boot loaders GRUB 2nd 3rd 4th LILO 2nd PowerPC 2nd Yaboot 2nd bottom-half interrupt handler methods bouncing Bourne shells branch instructions (PowerPC) Branch to Link Register (blr) bridges I/O 2nd 3rd buddy systems (memory management) 2nd 3rd 4th 5th buffer_head structure buffer_init() function calling 2nd buffers caches TLBs build_all_zonelists() function calling 2nd building kernels compilers cross compilers 2nd ELF object files 2nd 3rd 4th 5th 6th 7th 8th 9th linkers source build systems_ 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th toolchains 2nd parallel port drivers 2nd 3rd 4th 5th 6th 7th 8th busses I/O 2nd 3rd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] C language usage asmlinkage const keyword 2nd inline keyword UL volatile keyword 2nd cache_cache global variable cache_chain global variable cache_chain_sem global variable cache_grow() function 2nd 3rd cache_sizes descriptors caches aligning creating 2nd 3rd 4th 5th 6th 7th 8th 9th descriptors 2nd 3rd 4th destroying 2nd kmem_cache page pages address_space structures 2nd 3rd filesystems 2nd 3rd 4th tracing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th types of cahces buffers calaculations dynamic priority calibrate_delay() function calling 2nd 3rd call system VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th calling buffer_init() function 2nd build_all_zonelists() function 2nd calibrate_delay() function 2nd 3rd console_init() function 2nd init_IRQ() function 2nd 3rd late_time_init() function local_irq_enable() function lock_kernel() function 2nd mem_init() function 2nd 3rd 4th 5th 6th 7th 8th page_address_init() function 2nd 3rd 4th page_alloc_init() function 2nd page_writeback_init() function 2nd 3rd parse_args() function 2nd 3rd pgtable_cache_init() function 2nd printk() function proc_root_init() function 2nd 3rd profile_init() function radix_tree_init() function rcu_init() function rest_init() function 2nd sched_init() function 2nd 3rd security_scaffolding_startup() function setup_arch() function 2nd 3rd 4th 5th 6th setup_per_cpu_areas() function 2nd 3rd signals_init() function 2nd smp_prepare_boot_cpu() function 2nd softirq_init() function time_init() function 2nd trap_init() function vfs_cache_init() function 2nd 3rd 4th 5th 6th 7th 8th 9th calls [See system calls] process creation system 2nd clone() function 2nd 3rd do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd vfork() function 2nd capabilties fields task_struct structure 2nd characters devices 2nd 3rd 4th child processes 2nd children field (task_struct structure) chipsets CHRP (Common Hardware Reference Platform) CISC (Complex Instruction Set Computing) architecture clobbered registers 2nd clocks devices real-time 2nd 3rd 4th 5th 6th 7th 8th 9th clone() function 2nd 3rd close() function 2nd 3rd 4th 5th 6th 7th CML2 code inline assembly 2nd _ _volatile__ modifer 2nd 3rd 4th 5th 6th asm keyword clobbered registers constriants input operands output operands parameter numbering code generation phases coloring (slabs) comm field (task_struct structure) commands ar 2nd hexdump objcopy Common Hardware Reference Platform (CHRP) compilers 2nd asmlinkage cross 2nd Complex Instruction Set Computing (CISC) architecture components MBR compound pages computer programs [See also applications] condition register (CR) configuration kernel configuration tool configuring caches 2nd 3rd 4th 5th 6th 7th 8th 9th devices writing code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th initrd console_init() function calling 2nd const keyword 2nd constants UL marking constraints context context of execution context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th control of files control bits control information, transmitting controllers DMA 2nd interrupts controlling terminal count field (flags) count register (CTR) CPUs yielding 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th cpus_allowed field (task_struct structure) CR (condition register) create_process program 2nd 3rd credentials fields task_struct structure 2nd cross compilers 2nd cs_cachep field (cache descriptors) cs_dmacachep field (cache descriptors) cs_size field (cache desciptors) ctor field (cache descriptors) CTR (count register) current task structures current variable current working directories Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Data BAT (DBAT) data instructions (x86) data relocate (DR) data segments data structures VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th datatypes linked lists 2nd 3rd 4th searching 2nd 3rd trees binary 2nd red black 2nd DBAT (Data BAT) deactivating tasks dead processes deadline I/O schedulers deadlock Debian debugging device drivers 2nd DECLARE_WORK() macro declaring IOCTL numbers 2nd 3rd 4th decrementers defining execution contexts defunct processes dentry structures 2nd 3rd 4th 5th dependence architecture descriptors cache_sizes caches 2nd 3rd 4th files kmem_cache memory zones 2nd 3rd processes 2nd 3rd 4th 5th address space fields 2nd attribute fields 2nd capabilities fields 2nd credentials fields 2nd filesystem fields 2nd limitations fields 2nd 3rd relationship fields 2nd scheduling fields 2nd 3rd 4th descriptors (files) destroying caches 2nd devfs (Linux Device Filesystem) devices access 2nd addressing block characters 2nd drivers 2nd creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th debugging 2nd types of 2nd 3rd 4th files 2nd 3rd block devices 2nd characters 2nd clocks DMA 2nd generic block drivers 2nd 3rd networks operations 2nd request queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scheduling I/O 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th terminals models sysfs 2nd 3rd 4th pseudo Direct Memory Access (DMA) 2nd direct store segments directories 2nd /dev current working files 2nd 3rd fs/ home init/ kernel/ mm/ Page Global Directory working dirty pages, flushing 2nd disks blocks formatting initrd 2nd partitions 2nd distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog DMA (Direct Memory Access) 2nd dmesg tool do_exit() function 2nd 3rd 4th do_fork() function 2nd 3rd 4th 5th 6th do_page_fault() function DR (data relocate) driver tables drivers cource code traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th debugging 2nd devices 2nd parallel ports building 2nd 3rd 4th 5th 6th 7th 8th types of 2nd 3rd 4th wait queues 2nd 3rd 4th 5th work queues 2nd 3rd dtor field (cache descriptors) dumb terminals dynamic libraries dynamic priority calculations Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] EA (effective address) effective address (EA) effective group IDs effective user IDs elevator algorithms ELF (Executable and Linking Format) object files 2nd 3rd 4th 5th 6th 7th 8th 9th euid field (task_struct structure) events wait_event*() interfaces 2nd EXCEPTION() macro exceptions asynchronous execution flow 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th page faults PowerPC page faults exec() system calls Executable and Linking Format (ELF) object files 2nd 3rd 4th 5th 6th 7th 8th 9th executing processes adding to wait queues asynchronous execution flow 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th clone() function 2nd 3rd creating 2nd do_exit() function 2nd 3rd 4th do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd lifespans 2nd 3rd 4th 5th 6th 7th sys_exit() function 2nd termination tracking 2nd 3rd 4th 5th 6th 7th 8th 9th 10th vfork() funciton 2nd wait queues 2nd wait() function 2nd 3rd 4th 5th 6th wait_event*() interfaces 2nd waking up 2nd 3rd 4th schedulers context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th selecting tasks 2nd 3rd 4th 5th 6th 7th 8th 9th 10th yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th execution context of processes create_process program 2nd 3rd execution contexts, defining exit_code field (task_struct structure) exit_signal field (task_struct structure) exploration tools (kernels) ar command 2nd hexdump command mm objcopy command objdump/readelf 2nd EXPORT_SYMBOL macro exporting symbols extensions filenames external fragmentation external interrupts Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] faults (pages) 2nd memory management 2nd 3rd 4th 5th 6th 7th 8th 9th fdatasync system calls Fedora 2nd field handlers fields flags 2nd memory zones 2nd 3rd process descriptor address space 2nd attributes 2nd capabilities 2nd credentials 2nd filesystem 2nd limitations 2nd 3rd relationship 2nd scheduling 2nd 3rd 4th superblock structures 2nd 3rd operations 2nd 3rd task_struct structure address space 2nd attribute 2nd capabilities 2nd credentials 2nd filesystem 2nd limitations 2nd 3rd relationship 2nd scheduling 2nd 3rd 4th file descriptors file structures VFS 2nd 3rd filenames extensions files 2nd /etc/fstab attributes control descriptors devices 2nd 3rd block devices 2nd characters 2nd clocks DMA 2nd generic block drivers 2nd 3rd networks operations 2nd request queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scheduling I/O 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th terminals directories 2nd 3rd ELF 2nd 3rd 4th 5th 6th 7th 8th 9th filenames kernels 2nd protection 2nd 3rd 4th 5th metadata modes operations parameters offsetting pathnames 2nd processes close() function 2nd 3rd 4th 5th 6th 7th files_struct structure 2nd 3rd 4th fs_struct structure open() function 2nd 3rd 4th 5th 6th regular 2nd types 2nd types of files field (task_struct structure) files_struct structure 2nd 3rd 4th filesystems 2nd devfs fields task_struct structure 2nd handlers hierarchies implementing kernels 2nd layers 2nd 3rd 4th 5th 6th 7th navigating 2nd overview 2nd 3rd 4th 5th 6th page caches 2nd 3rd 4th performance types of VFS VFS structures 2nd 3rd 4th 5th 6th VFS system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th virtual 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th first_time_slice field (task_struct structure) fixed-point instructions (PowerPC) flags memory management 2nd flags field flags field (cache descriptors) flags field (task_struct structure) Flash flips 2nd 3rd floating-point instructions (PowerPC) flops 2nd 3rd flushing dirty pages 2nd for_each_zone() function fork() function 2nd fork() system calls forked processes formatting caches 2nd 3rd 4th 5th 6th 7th 8th 9th devices writing code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th disks fragmentation external frames pages memory management 2nd 3rd 4th 5th 6th 7th 8th free field (slab descriptors) free software 2nd Free Software Foundation (FSF) free_area field ( memory zones) free_page() function free_pages field (memory zones) front-side busses fs field (task_struct structure) fs/ directory fs_struct structure FSF (Free Software Foundation) fsgid field (task_struct structure) fsuid field (task_struct structure) fsync system calls funcitons nice() function is_highmem() kmalloc() 2nd kmem_cache_alloc() functions __builtin_expect() __free_page() __get_dma_pages() __get_free_page() add_wait_queue() add_wait_queue_exclusive() alloc_page() alloc_pages() cache_grow() 2nd 3rd close() 2nd 3rd 4th 5th 6th 7th context_switch() 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th do_exit() 2nd 3rd 4th do_page_fault() for_each_zone() free_page() helper memory zones 2nd is_normal() kmem_cache_destroy() 2nd likely() 2nd 3rd list_del() nice() open() 2nd 3rd 4th 5th 6th printk() process creation 2nd clone() function 2nd 3rd do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd vfork() function 2nd releases page frames requests page frames 2nd 3rd sched_fork() 2nd 3rd 4th 5th 6th 7th 8th scheduler_tick() start_kernel() 2nd calling buffer_init() function 2nd calling build_all_zonelists() function 2nd calling calibrate_delay() function 2nd 3rd calling console_init() function 2nd calling init_IRQ() function 2nd 3rd calling late_time_init() function calling local_irq_enable() function calling lock_kernel() function 2nd calling mem_init() function 2nd 3rd 4th 5th 6th 7th 8th calling page_address_init() function 2nd 3rd 4th calling page_alloc_init() function 2nd calling page_writeback_init() function 2nd 3rd calling parse_args() function 2nd 3rd calling pgtable_cache_init() function 2nd calling printk() function calling proc_root_init() function 2nd 3rd calling profile_init() function calling radix_tree_init() function calling rcu_init() function calling rest_init() function 2nd calling sched_init() function 2nd 3rd calling security_scaffolding_startup() function calling setup_arch() function 2nd 3rd 4th 5th 6th calling setup_per_cpu_areas() function 2nd 3rd calling signals_init() function 2nd calling smp_prepare_boot_cpu() function 2nd calling softirq_init() function calling time_init() function 2nd calling trap_init() function calling vfs_cache_init() function 2nd 3rd 4th 5th 6th 7th 8th 9th switch() switch_to() 2nd synchronous sys_exit() 2nd unlikely() 2nd 3rd wait() 2nd 3rd 4th 5th 6th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] GEC (General Electric Company) General Electric Company (GEC) general purpose caches general-purpose registers (GPRs) generic block device layers 2nd generic block driver layers 2nd 3rd Gentoo 2nd geometry of hard drives gfp_mask integer value gfpflags field (cache descriptors) gfporder field (cache descriptors) GID (group ID) 2nd global variables local list references 2nd slab allocators 2nd 3rd GMCH (Graphics and Memory Controller Hub) GNU General Public License (GPL) GPL (GNU General Public License) GPRs (general-purpose registers) Grand Unified Bootleader (GRUB) 2nd 3rd 4th Graphics and Memory Controller Hub (GMCH) group ID (GID) 2nd group_info field (task_struct structure) 2nd group_leader field (task_struct structure) GRUB (Grand Unified Botloader) 2nd 3rd 4th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] handlers filesystems page faults 2nd 3rd 4th 5th 6th 7th hard drives geometry of hard links hardware I/O 2nd 3rd parallel ports headers ELF 2nd tables programs 2nd sections 2nd heads heaps helper functions memory zones 2nd Hertz (HZ) Hertz, Heinrich hexdump command hierarchies filesystems High Performance Event Timer (HPET) history of UNIX 2nd home directories host systems HPET (High Performance Event Timer) hubs hw_interrupt_type structure hw_irq_controller structure HyperTransport technology HZ (Hertz) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] I/O asynchronous operations devices block devices 2nd characters 2nd clocks DMA 2nd files 2nd generic block drivers 2nd 3rd networks operations 2nd request queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scheduling 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th terminals hardware 2nd 3rd I/O (input/output) I/O Controller Hub (ICH) i386 Intel-based memeory management 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th IBAT (Instruction BAT) ICH (I/O Controller Hub) IDT (Interrupt Descriptor Table) 2nd IHA (Intel Hub Architecture) images kernels building 2nd 3rd implementing filesystems implicit kernel preemption 2nd 3rd 4th implicit user preemption 2nd inactive_list field (emory zones) inb (read in a byte) index nodes init process 2nd 3rd init threads (Process 1) 2nd 3rd 4th 5th 6th init/ directory init_IRQ() function calling 2nd 3rd initial RAM disk (initrd) 2nd initializing architecture-dependent memory i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 irqaction struct kernels systems initrd configuring initrd (initial RAM disk) 2nd inline assembly 2nd _ _volatile__modifer 2nd 3rd 4th 5th 6th asm keyword clobbered registers constraints input operands output operands parameter numbering inline keyword inode strcutures inode structures 2nd 3rd 4th inodes input operands input/output [See I/O] Instruction BAT (IBAT) instruction relocate (IR) Intel Hub Architecture (IHA) interactive processes interactive tasks interactive_credit field (task_struct structure) interfaces ABI I/O 2nd 3rd users wait_event*() 2nd Interrupt Descriptor Table (IDT) 2nd interrupt-acknowledge cycle interrupts 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th context controllers polling and 2nd 3rd 4th 5th intervals addresses inuse field (slab descriptors) IOCTL numbers, declaring 2nd 3rd 4th IPC (Interprocess Communication) IR (instruction relocate) IRQ structures irq_desc_t structure irqaction struct irqaction structs, initializing IS_ERR macro is_highmem() function is_normal() function Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] jiffies 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] kernel messages /var/log/messages dmesg printk() function kernel configuration tool kernel mode kernel/ directory kernels architecture-dependent memory initialization i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 boot loaders GRUB 2nd 3rd 4th LILO 2nd PowerPC 2nd Yaboot 2nd create_process program 2nd 3rd datatypes linked lists 2nd 3rd 4th searching 2nd 3rd trees 2nd 3rd 4th 5th distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog explicit kernel preemption exploration tools ar command 2nd hexdump command mm objcopy command objdump/readelf 2nd implicit kernel preemption 2nd 3rd 4th init threads (Process 1) 2nd 3rd 4th 5th 6th initialization memory 2nd organization overview of access rights 2nd 3rd 4th 5th device drivers 2nd files/filesystems 2nd processes 2nd 3rd schedulers system calls 2nd UID 2nd user interfaces release information 2nd source build systems 2nd architecture-dependent source code 2nd architecture-independent source code 2nd images 2nd 3rd Linux makefiles 2nd 3rd sub-makefiles 2nd 3rd space start_kernel() function 2nd calling buffer_init() function 2nd calling build_all_zonelists() function 2nd calling calibrate_delay() function 2nd 3rd calling console_init() function 2nd calling init_IRQ() function 2nd 3rd calling late_time_init() function calling local_irq_enable() function calling lock_kernel() function 2nd calling mem_init() function 2nd 3rd 4th 5th 6th 7th 8th calling page_address_init() function 2nd 3rd 4th calling page_alloc_init() function 2nd calling page_writeback_init() function 2nd 3rd calling parse_args() function 2nd 3rd calling pgtable_cache_init() function 2nd calling printk() function calling proc_root_init() function 2nd 3rd calling profile_init() function calling radix_tree_init() function calling rcu_init() function calling rest_init() function 2nd calling sched_init() function 2nd 3rd calling security_scaffolding_startup() function calling setup_arch() function 2nd 3rd 4th 5th 6th calling setup_per_cpu_areas() function 2nd 3rd calling signals_init() function 2nd calling smp_prepare_boot_cpu() function 2nd calling softirq_init() function calling time_init() function 2nd calling trap_init() function calling vfs_cache_init() function 2nd 3rd 4th 5th 6th 7th 8th 9th toolchains 2nd compilers cross compilers 2nd ELF object files 2nd 3rd 4th 5th 6th 7th 8th 9th linkers keywords asm const 2nd inline volatile 2nd kmalloc() function 2nd kmem_cache descriptors kmem_cache_alloc() function kmem_cache_destroy() function 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] languages assembly example of 2nd 3rd 4th 5th 6th 7th 8th PowerPC 2nd 3rd 4th x86 2nd 3rd 4th C asmlinkage const keyword 2nd inline keyword UL volatile keyword 2nd late_time_init() function calling latency layers filesystems 2nd 3rd 4th 5th 6th 7th generic block device 2nd generic block drivers 2nd 3rd layouts source code li RT, RS, SI (Load Immediate) libraries licenses GPL lifecycles slab allocators 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th lifespans of process descriptors 2nd 3rd processes states 2nd transitions (states) 2nd 3rd 4th 5th 6th likely() function 2nd 3rd LILO (LInux LOader) 2nd limitations fields task_struct structure 2nd 3rd linear address spaces memory management 2nd 3rd linear addresses link editors link register (LR) linked lists 2nd 3rd 4th linkers links 2nd 3rd 4th Linux filesystems [See filesystems] makefiles 2nd 3rd process structures linear address spaces 2nd 3rd memory management 2nd 3rd 4th 5th 6th page faults 2nd 3rd 4th 5th 6th 7th 8th 9th page tables 2nd Linux Device Filesystem (devfs) LInux LOader (LILO) 2nd Linux Power list field (flags) list field (slab descriptors) list_del() function lists clobber linked 2nd 3rd 4th local references (global variables and) 2nd searching 2nd 3rd slab descriptors work queues lists field (cache descriptors) lists,next_reap lists.slabs_free lists.slabs_full lists.slabs_partial Little Endian Load Immediate (li_RT,_RS,_SI) Load Word and Zero (lwz_RT,_D(RA)) local list references 2nd local stacks asmlinkage local_irq_enable() function calling lock field (memory zones) lock_kernel() function calling 2nd locking spinlocks 2nd 3rd 4th 5th logical addresses logical disks login programs LR (link register) lru field (flags) lru_lock field (memory zones) ls /usr/src/linux/arch lwz RT, D(RA) (Load Word and Zero) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Machine State Register (MSR) macros __init 2nd DECLARE_WORK() EXCEPTION() EXPORT_SYMBOL IS_ERR PTR_ERR makefiles Linux 2nd 3rd sub-makefiles 2nd 3rd malloc_sizes[] global variable management memory 2nd 3rd linear address spaces 2nd 3rd Linux process structures 2nd 3rd 4th 5th 6th page faults 2nd 3rd 4th 5th 6th 7th 8th 9th page frames 2nd 3rd 4th 5th 6th 7th 8th page tables 2nd pages 2nd 3rd request paths 2nd slab allocators 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th zones 2nd 3rd Mandriva mapping memory processes 2nd mappng field (flags) marking constants UL Master Boot Record (MBR) MBR (Master Boot Record) MCH (Memory Controller Hub) mem_init() function calling 2nd 3rd 4th 5th 6th 7th 8th memory addresses mm_struct 2nd 3rd 4th vm_area_struct 2nd 3rd 4th addressing architecture-dependent initialization i386 Intel-based 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th PowerPC 2nd 3rd 4th 5th 6th 7th 8th 9th 10th x86 areas 2nd buffer_head structures DMA 2nd initrd 2nd kernels 2nd kmalloc() function 2nd kmem_cache_alloc() function management 2nd 3rd linear address spaces 2nd 3rd Linux process structures 2nd 3rd 4th 5th 6th page faults 2nd 3rd 4th 5th 6th 7th 8th 9th page frames 2nd 3rd 4th 5th 6th 7th 8th page tables 2nd pages 2nd 3rd request paths 2nd slab allocators 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th zones 2nd 3rd manager processes mapping 2nd regions users 2nd 3rd 4th virtual Memory Controller Hub (MCH) Memory Management Unit (MMU) memory-mapped I/O messages kernels /var/log/messages dmesg printk() function metadata files mingetty programs Minix MIT mm field (task_struct structure) mm utility mm/ directory mm_struct structure 2nd 3rd 4th MMU (Memory Management Unit) models devices sysfs and 2nd 3rd 4th modes files kernel sgid sticky suid user modifiers _ _volatile__ 2nd 3rd 4th 5th 6th modules source code traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th monolithic systems mount points mount systems MSR (Machine State Register) Multiboot Specification (GRUB) MULTiplexed Information and Computing Service (MULTICS) multiprogramming multiuser timesharing Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] name field (cache descriptors) named pipes navigating filesystems 2nd networks devices next field (cache descriptors) nice() funciton nice() function nivcsw field (task_struct structure) no-op no-op I/O schedulers nodes index non-executable ELF file sections 2nd non-volatile storage Northbridge 2nd notations big-o notification parents 2nd 3rd 4th 5th 6th notifier chains num field (cache descriptors) numbering parameters numbers IOCTL delcaring 2nd 3rd 4th nvcsw field (task_struct structure) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] O(1) schedulers context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th CPUs yielding 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th tasks selecting 2nd 3rd 4th 5th 6th 7th 8th 9th 10th objcopy command objdump utility 2nd object languages objects create_process program 2nd 3rd ELF 2nd 3rd 4th 5th 6th 7th 8th 9th file formats linked lists 2nd 3rd 4th searching 2nd 3rd trees binary 2nd red black 2nd objsize field (cache descriptors) OF (Open Firmware) 2nd offsetting descriptors offsetting file parameters Open Firmware (OF) 2nd Open Programmable Interrupt Controller (OpenPIC) open source software 2nd open() function 2nd 3rd 4th 5th 6th OpenPIC (Open Programmable Interrupt Controller) operating systems create_process program 2nd 3rd overview of 2nd operations asynchronous I/O devices 2nd files superblock structures 2nd 3rd optimizers optimizing filesystems organization of kernels outb (write out a byte) output operands overview of Linux Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] padding zones page caches address_space structures 2nd 3rd tracing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th Page Directory Entry (PDE) page faults page frames Page Global Directory Page Table Entry (PTE) 2nd page_address_init() function calling 2nd 3rd 4th page_alloc_init() function calling 2nd page_writeback_init() function calling 2nd 3rd pages caches filesystems 2nd 3rd 4th compound dirty flushing 2nd faults memory management 2nd 3rd 4th 5th 6th 7th 8th 9th flags fields 2nd frames memory management 2nd 3rd 4th 5th 6th 7th 8th memory management 2nd 3rd tables memory management 2nd pages_high field (memory zones) pages_min, pages_low field (memory zones) pages_scanned, temp_priority field (memory zones) paging parallel port drivers, building 2nd 3rd 4th 5th 6th 7th 8th parameters asmlinkage files offsetting numbering parent field (task_struct structure) parent processes 2nd parents notification 2nd 3rd 4th 5th 6th parse_args() function calling 2nd 3rd partitions 2nd disks pathnames 2nd files 2nd paths requests memory management 2nd PCI busses PDE (Page Directory Entry) pdeath field (task_struct structure) performance filesystems pgtable_cache_init() function calling 2nd phases of compiling physical addresses PIC (Programmable Interrupt Controller) pid field (task_struct structure) PID process ID) pipes named PIT (Programmable Interval Time) pivoting the root plugging policy field (task_struct structure) polling and interrupts 2nd 3rd 4th 5th portability ports I/O 2nd 3rd parallel drivers building 2nd 3rd 4th 5th 6th 7th 8th PowerPC architecture-dependent memory intialization 2nd 3rd 4th 5th 6th 7th 8th 9th 10th assembly languages 2nd 3rd 4th example 2nd 3rd 4th bootloaders 2nd page fault exceptions x86 code convergence PowerPC architecture Linux Power PowerPC Reference Platform (PreP) PPC real-time clocks reading preemption tasks explicit kernel implicit kernel 2nd 3rd 4th implicit user 2nd PreP (PowerPC Reference Platform) prev_priority field (memory zones) principle of locality printk() function calling prio field (task_struct structure) priority dynamic calaculations processes priority arrays proc_root_init() function calling 2nd 3rd process 0 Process 0 process 1 Process 1 Process 1 (init threads) 2nd 3rd 4th 5th 6th process ID (PID) process status (ps) processes 2nd 3rd 4th asynchronous execution flow exceptions 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th clone() function 2nd 3rd context create_process program 2nd 3rd creating 2nd 3rd dead descriptors 2nd 3rd 4th 5th address space fields 2nd attribute fields 2nd capabilities fields 2nd credentials fields 2nd filesystem fields 2nd limitations fields 2nd 3rd relationship fields 2nd scheduling fields 2nd 3rd 4th do_fork() function 2nd 3rd 4th 5th 6th files close() function 2nd 3rd 4th 5th 6th 7th files_struct structure 2nd 3rd 4th fs_struct structure open() function 2nd 3rd 4th 5th 6th fork() function 2nd init interactive lifespans states 2nd Linux memory management 2nd 3rd 4th 5th 6th memory mapping 2nd priority running schedulers selecting tasks sleeping spawning termination do_exit() function 2nd 3rd 4th sys_exit() function 2nd wait() function 2nd 3rd 4th 5th 6th tracking 2nd 3rd 4th 5th 6th 7th 8th 9th 10th transitions states 2nd 3rd 4th 5th 6th types of vfork() function 2nd wait queues 2nd adding to wait_event*() interfaces 2nd waking up 2nd 3rd 4th zombie profile_init() function calling program header tables 2nd Programmable Interrupt Controller (PIC) Programmable Interval Time (PIT) programming filesystems 2nd 3rd 4th 5th 6th page caches 2nd 3rd 4th VFS structures 2nd 3rd 4th 5th 6th VFS system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th virtual 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th programs create_process 2nd 3rd protected mode (memory management) 2nd protection files 2nd 3rd 4th 5th ps (process status) pseudo devices PTE (Page Table Entry) 2nd PTR_ERR macro ptrace field (task_struct structure) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] queues request utilities requests 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th run system requests wait 2nd 3rd 4th 5th 6th 7th adding to wait_event*() interfaces 2nd waking up 2nd 3rd 4th work 2nd 3rd lists tasklets 2nd 3rd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] radix_tree_init() function calling RAM initrd 2nd rcu_init() function calling readelf utility 2nd reading PPC real-time clocks real-time clocks x86 ready state ready to running state transition real addressing real group IDs real mode real user IDs real-time clocks 2nd 3rd 4th 5th 6th 7th 8th 9th real_parent field (task_struct structure) receiving data from devices red black trees 2nd Red Hat 2nd Reduced Instruction Set Computing (RISC) architecture references local lists (global variables and) 2nd regions memory registers clobbered PowerPC segment SPRs regular files 2nd relationships fields task_struct structure 2nd makefiles 2nd 3rd relative pathnames 2nd release information (kernels) 2nd releases functions page frames relocatable object code relocation requests functions page frames 2nd 3rd paths memory management 2nd queue utilities queues 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th system queues respawning programs rest_init() function calling 2nd rights access 2nd 3rd 4th 5th RISC (Reduced Instruction Set Computing) architecture Ritchie, Dennis rlim field (task_struct structure) root of users root threads rt_priority field (task_struct structure) rules schedulers run queues 2nd run_list field (task_struct structure) runnable states (processes) running processes running to blocked state transition running to ready state transition Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] s_mem field (slab descriptors) scanner phases sched_fork() function 2nd 3rd 4th 5th 6th 7th 8th sched_init() function calling 2nd 3rd scheduler_tick() function schedulers 2nd anticipatory creating 2nd 3rd 4th 5th 6th 7th 8th 9th 10th deadline I/O no-op I/O O(1) context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th selecting tasks 2nd 3rd 4th 5th 6th 7th 8th 9th 10th yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th rules scheduling fields task_struct structure 2nd 3rd 4th I/O 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th scripts SDR1 (Storage Description Register 1) searching datatypes 2nd 3rd sections header tables 2nd non-executable ELF files 2nd security_scaffolding_startup() function calling Segment Registers Segmented Address Translation segments data text selecting tasks schedulers 2nd 3rd 4th 5th 6th 7th 8th 9th 10th semantic attributes semaphores 2nd 3rd 4th 5th setup_arch() function calling 2nd 3rd 4th 5th 6th setup_per_cpu_areas() function calling 2nd 3rd sgid field (task_struct structure) sgid mode shared libraries sibling field (task_struct structure) sibling processes signals_init() function calling 2nd SIGSTOP slabp_cache field (cache descriptors) slabs allocators global variables 2nd 3rd memory management 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th coloring sleep_avg field (task_struct structure) sleeping processes smp_prepare_boot_cpu() function calling 2nd sockets 2nd soft links softirq_init() function calling software [See applications] free/open source 2nd source build systems 2nd architecture-dependent source code 2nd architecture-independent source code 2nd images 2nd 3rd Linux makefiles 2nd 3rd sub-makefiles 2nd 3rd source code system calls adding 2nd 3rd traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th writing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th Southbridge 2nd space kernels users spaces addresses memory management 2nd 3rd virtual addresses spawning processes special purpose registers (SPRs) specialized caches spinlocks 2nd 3rd 4th 5th SPRs (special purpose registers) stacks asmlinkage standards start_kernel() function 2nd buffer_init() function calling 2nd build_all_zonelists() function calling 2nd calibrate_delay() function calling 2nd 3rd console_init() function calling 2nd init_IRQ() function calling 2nd 3rd late_time_init() function calling local_irq_enable() function calling lock_kernel() function calling 2nd mem_init() function calling 2nd 3rd 4th 5th 6th 7th 8th page_address_init() function calling 2nd 3rd 4th page_alloc_init() function calling 2nd page_writeback_init() function calling 2nd 3rd parse_args() function calling 2nd 3rd pgtable_cache_init() function calling 2nd printk() function calling proc_root_init() function calling 2nd 3rd profile_init() function calling radix_tree_init() function calling rcu_init() function calling rest_init() function calling 2nd sched_init() function calling 2nd 3rd security_scaffolding_startup() function calling setup_arch() function calling 2nd 3rd 4th 5th 6th setup_per_cpu_areas() function calling 2nd 3rd signals_init() function calling 2nd smp_prepare_boot_cpu() function calling 2nd softirq_init() function calling time_init() function calling 2nd trap_init() function calling vfs_cache_init() function calling 2nd 3rd 4th 5th 6th 7th 8th 9th state processes lifespans 2nd 3rd transitions 2nd 3rd 4th 5th 6th state field (task_struct structure) states ready static libraries static_prio field (task_struct structure) statically allocated major devices status processes sticky mode Storage Description Register 1 (SDR1) Store Word with Update (stwu_RS,_D(RA)) structures address_space 2nd 3rd block_device_operations buffer_head current task dentry 2nd 3rd 4th file VFS 2nd 3rd files_struct 2nd 3rd 4th fs_struct hw_interrupt_type hw_irq_controller inode 2nd 3rd 4th IRQ irq_desc_t mm_struct 2nd 3rd 4th processes (Linux) memory management 2nd 3rd 4th 5th 6th superblock 2nd 3rd operations 2nd 3rd task_struct 2nd 3rd address space fields 2nd attribute fields 2nd capabilities fields 2nd credentials fields 2nd filesystem fields 2nd limitations fields 2nd 3rd relationship fields 2nd scheduling fields 2nd 3rd 4th VFS 2nd 3rd 4th 5th 6th vm_area_struct 2nd 3rd 4th wait queues 2nd adding to struuctures data VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th stwu RS, D(RA) (Store Word with Update) sub-makefiles 2nd 3rd subdirectories architecture-independent suid field (task_struct structure) suid mode super_operations structure superblock structures 2nd 3rd 4th operations 2nd 3rd Superio chips superusers SUSE switch() function switch_to() function 2nd switching tasks explicit kernel preemption implicit kernel preemption 2nd 3rd 4th implicit user preemption 2nd symbol resolution symbolic links symbols exporting sync system calls synchronous functions synchronous interrupts syntactical rules sys_exit() function 2nd sysfs device models and 2nd 3rd 4th system calls 2nd 3rd 4th 5th 6th 7th clone() function 2nd 3rd code adding 2nd 3rd do_fork() function 2nd 3rd 4th 5th 6th fork() function 2nd source code traversing 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th vfork() function 2nd VFS 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th system clocks real-time 2nd 3rd 4th 5th 6th 7th 8th 9th system request queues system timers 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th systems initializing Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] tables drivers headers programs 2nd sections 2nd pages memory management 2nd Tanenbaum, Andrew target system TASK_INTERRUPTIBLE state task_list TASK_RUNNING state TASK_STOPPED state task_struct structure 2nd 3rd fields address space 2nd attributes 2nd capabilities 2nd credentials 2nd filesystem 2nd limitations 2nd 3rd relationship 2nd scheduling 2nd 3rd 4th TASK_UNINTERRUPTIBLE state TASK_ZOMBIE state tasklets work queues and 2nd 3rd tasks current task structure deactivating interactive preemption explicit kernel implicit kernel 2nd 3rd 4th implicit user 2nd schedulers context_switch() function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th selecting 2nd 3rd 4th 5th 6th 7th 8th 9th 10th yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th system clocks real-time 2nd 3rd 4th 5th 6th 7th 8th 9th terminals devices termination processes do_exit() function 2nd 3rd 4th sys_exit() function 2nd wait() function 2nd 3rd 4th 5th 6th text segments the contextual analysis phases Thompson, Ken threads init (Process 1) 2nd 3rd 4th 5th 6th time_init() function calling 2nd time_slice field (task_struct structure) timers real-time clocks 2nd 3rd 4th 5th 6th 7th 8th 9th timers (system) 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th timesharing users timeslices 2nd 3rd timestamp field (task_struct structure) timestamsps schedulers TLBs (Translation Lookaside Buffers) toolchains 2nd compilers cross 2nd ELF object files 2nd 3rd 4th 5th 6th 7th 8th 9th linkers tools distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog dmesg exploration (kernels) ar command 2nd hexdump command mm objcopy command objdump/readelf 2nd kernel configuration top-half interrupt handler methods Torvalds, Linus tracing page caches 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th tracking processes 2nd 3rd 4th 5th 6th 7th 8th 9th 10th tracks 2nd transitions prcess state process state 2nd 3rd 4th 5th 6th translation addresses i386 Intel-based PPC Translation Lookaside Buffers (TLBs) transmitting control information trap_init() function calling traps traversing source code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th trees binary 2nd red black 2nd troubleshooting device drivers debugging 2nd filesystems optimizing types of drivers 2nd 3rd 4th of files 2nd 3rd of filesystems of interrupt handlers Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] UID (user ID) 2nd UL (unsigned long) UMA (Universal Motherboard Architecture) Universal Motherboard Architecture (UMA) UNIX history of 2nd unlikely() function 2nd 3rd unlpugging unsigned long (UL) user ID (UID) 2nd user mode users implicit user preemption 2nd interfaces space superusers utilities request queues Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] VA (virtual address) values flags variables $(Q) variable current global local list references 2nd slab allocators 2nd 3rd HZ vectors versions kernels release information 2nd vfork() function 2nd VFS structures 2nd 3rd 4th 5th 6th system calls 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th VFS (virtual filesystem) vfs_cache_init() function calling 2nd 3rd 4th 5th 6th 7th 8th 9th virtual address (VA) virtual addresses virtual addressing virtual field (flags) virtual filesystem (VFS) virtual filesystems 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th virtual memory virtual page number (VPN) virtual segment ID (VSID) virtual terminals vm_area_struct structure 2nd 3rd 4th volatile keyword 2nd VPN (virtual page number) VSID (virtual segment ID) Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] wait queues 2nd 3rd 4th 5th 6th 7th adding to wait_event*() interfaces 2nd waking up 2nd 3rd 4th wait() function 2nd 3rd 4th 5th 6th wait() system calls wait_event*() interfaces 2nd wait_table, wait_table_size field (memory zones) wait_table_bits field (memory zones) waking up wait queues 2nd 3rd 4th window managers distributions Debian Fedora 2nd Gentoo 2nd Mandriva Red Hat 2nd SUSE Yellow Dog wireless LAN [See WLAN] WLAN (wireless LAN) work queues 2nd 3rd lists tasklets 2nd 3rd working directories writing source code 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] x86 assembly languages 2nd 3rd 4th example 2nd 3rd PowerPC code convergence real-time clocks reading x86 interrupt flow x86 interrupt vector tables Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Yaboot bootloaders 2nd Yellow Dog yielding CPUs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] zombie processes 2nd zombies zones memory management 2nd 3rd padding Table of Contents Chapter 1.


pages: 603 words: 141,814

Python for Unix and Linux System Administration by Noah Gift, Jeremy M. Jones

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Amazon Web Services, bash_history, cloud computing, create, read, update, delete, database schema, Debian, distributed revision control, Firefox, industrial robot, inventory management, job automation, MVC pattern, skunkworks, web application

And thank you for working on Twisted. It is an amazing framework. I hope to use it more, real soon now. I thank Bram Moolenaar and everyone who has ever worked on the Vim editor. Almost every word and XML tag that I wrote flowed through capabilities Vim. I picked up a few tricks along the way that I’ll incorporate into my daily editing habits. Vim made me more productive. Thank you. I also want to thank Linus Torvalds, the Debian folks, the Ubuntu folks, and anyone else who has ever worked on Linux. Almost every word that I typed was done on Linux. You made it incredibly simple to set up new environments and test different things. Thank you. Finally, but by no means least, I want to thank Guido van Rossum and everyone who has ever done any work on Python. I have been benefitting from your work for a number of years now.

On UNIXes, this is typically the same directory that the python binary is located in. If you are using a python that was installed with your system’s package manager, it (and consequently ipython) will likely be located in /usr/bin. We’ve installed the source distribution of the latest development code for IPython, so you will see 0.8.3 in some examples. A second option for installing IPython is to use a package from your system’s package management system. On Debian and Ubuntu, .deb packages are available to install. Installation is simply apt-get install ipython. Ubuntu installs the IPython libraries to the appropriate location (/usr/share/python-support/ipython with a tangle of .pth files and symbolic links to make things work right). It also installs the ipython binary to /usr/bin/ipython. The third option for installing IPython is to use a Python package.

Creating a Cross-Platform Build Network Since we know how to distribute jobs in parallel to a list full of machines, identify what operating system they are running, and finally, create a uniform manifest with EPM that can create a vendor-specific package, doesn’t it make sense to put all of this together? We can use these three techniques to quite easily build a cross-platform build network. With the advent of virtual machines technology, it is quite easy to create a virtual machine for any nonproprietary *nix operating system, such as Debian/Ubuntu, Red Hat/CentOS, FreeBSD, and Solaris. Now, when you create a tool you need to share to the world, or just the people at your company, you can quite easily create a “build farm,” perhaps even running on your laptop, in which you run a script, and then instantly create a vendor package for it. So how would that work? The most automated way to accomplish this would be to create a common NFS-mounted package build tree, and give all of your build servers access to this mount point.

HBase: The Definitive Guide by Lars George

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Amazon Web Services, bioinformatics, create, read, update, delete, Debian, distributed revision control, domain-specific language, en.wikipedia.org, fault tolerance, Firefox, Google Earth, place-making, revision control, smart grid, web application

You may also want to consider not using the latest Fedora release, but trailing by one version to be able to rely on some feedback from the community as far as stability and other issues are concerned. Debian Debian is another Linux-kernel-based OS that has software packages released as free and open source software. It can be used for desktop and server systems and has a conservative approach when it comes to package updates. Releases are only published after all included packages have been sufficiently tested and deemed stable. As opposed to other distributions, Debian is not backed by a commercial entity, but rather is solely governed by its own project rules. It also uses its own packaging system that supports DEB packages only. Debian is known to run on many hardware platforms as well as having a very large repository of packages. Ubuntu Ubuntu is a Linux distribution based on Debian. It is distributed as free and open source software, and backed by Canonical Ltd., which is not charging for the OS but is selling technical support for Ubuntu.

It is distributed as free and open source software, and backed by Canonical Ltd., which is not charging for the OS but is selling technical support for Ubuntu. The life cycle is split into a longer- and a shorter-term release. The long-term support (LTS) releases are supported for three years on the desktop and five years on the server. The packages are also DEB format and are based on the unstable branch of Debian: Ubuntu, in a sense, is for Debian what Fedora is for Red Hat Linux. Using Ubuntu as a server operating system is made more difficult as the update cycle for critical components is very frequent. Solaris Solaris is offered by Oracle, and is available for a limited number of architecture platforms. It is a descendant of Unix System V Release 4, and therefore, the most different OS in this list. Some of the source code is available as open source while the rest is closed source.

Installation Ganglia setup requires two steps: first you need to set up and configure Ganglia itself, and then have HBase send the metrics to it. Ganglia-related steps You should try to install prebuilt binary packages for the operating system distribution of your choice. If this is not possible, you can download the source from the project website and build it locally. For example, on a Debian-based system you could perform the following steps. Ganglia monitoring daemon Perform the following on all nodes you want to monitor. Add a dedicated user account: $ sudo adduser --disabled-login --no-create-home ganglia Download the source tarball from the website, and unpack it into a common location: $ wget http://downloads.sourceforge.net/project/ganglia/ \ ganglia%20monitoring%20core/3.0.7%20%28Fossett%29/ganglia-3.0.7.tar.gz $ tar -xzvf ganglia-3.0.7.tar.gz -C /opt $ rm ganglia-3.0.7.tar.gz Install the dependencies: $ sudo apt-get -y install build-essential libapr1-dev \ libconfuse-dev libexpat1-dev python-dev Now you can build and install the binaries like so: $ cd /opt/ganglia-3.0.7 $ .


pages: 924 words: 241,081

The Art of Community by Jono Bacon

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

barriers to entry, collaborative editing, crowdsourcing, Debian, DevOps, en.wikipedia.org, Firefox, game design, Johann Wolfgang von Goethe, Jono Bacon, Kickstarter, Mark Zuckerberg, openstreetmap, Richard Stallman, side project, Silicon Valley, Skype, slashdot, social graph, software as a service, telemarketer, union organizing, VA Linux, web application

After spending a year in Russia training for a quick trip into space as the first South African space tourist, Mark started laying plans for a new Linux distribution. At the time, distributions were nothing new: Red Hat, Mandrake, Debian, and others were already producing comprehensive operating systems that technical types such as myself were not only using, but were also trying to convince our reluctant friends and family to use. Mark’s vision was different. First, he wanted to build Ubuntu on the excellent foundation of the existing Debian distribution. To do this he hired some of the cream of the crop in the Debian community, and they set to work to build a powerful and easy-to-use operating system. His vision did not end there, though. Mark not only wanted to promote an open source operating system, he also wanted to have the operating system be openly governed.

Look at this show—you’ve got an interview with Quim Gil, which is about Maemo, not Ubuntu, the finger of God, which is plain silliness, the software vendors and security issue, which applies across the board, and packaging, which was fairly Ubuntu specific, but could easily relate across to other Debian-based distros, and, as Chris said, he would’ve talked about RPM if it had been possible. The “Ubuntu slant” is more about personal usage and experience, rather than a change in the show’s direction (which was unashamedly Debian slanted before Ubuntu came out....) In his three-paragraph response, mrben referred to 12 distinctive points and facts, citing many from existing online material. His response sought not only to convince the original poster of his error, but also to demonstrate to the community that the poster was wrong, thus providing a sense of security.

There are a number of repositories, but two primary ones: Main This is the primary, officially supported repository. All of the applications here are considered critical to Ubuntu. They receive security updates, and Canonical also supports them in its commercial support services. This repository contains everything that appears on the Ubuntu installation disk. Universe This repository is the entire archive from Debian (which Ubuntu is based on) but with packages built against Ubuntu. In other words, this repository contains the same software as Debian, but tweaked and tested to make sure it will run on Ubuntu. These applications are unsupported: end users are responsible for checking on security updates themselves, and Canonical does not provide support for universe packages in its commercial support services. Each of these repositories is matched to a specific developer role: Main→ubuntu-core-dev Developers who have direct upload access to main are called Ubuntu Core Developers.


pages: 66 words: 9,247

MongoDB and Python by Niall O’Higgins

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

cloud computing, Debian, fault tolerance, semantic web, web application

This will permit you to iterate quickly and try new things without fear of destroying a production database. Additionally, you will be able to develop with MongoDB even without an Internet connection. Depending on your operating system, you may have multiple options for how to install MongoDB locally. Most modern UNIX-like systems will have a version of MongoDB available in their package management system. This includes FreeBSD, Debian, Ubuntu, Fedora, CentOS and ArchLinux. Installing one of these packages is likely the most convenient approach, although the version of MongoDB provided by your packaging vendor may lag behind the latest release from 10gen. For local development, as long as you have the latest major release, you are probably fine. 10gen also provides their own MongoDB packages for many systems which they update very quickly on each release.

Unless you need to make modifications to MongoDB internals yourself, this method is best avoided due to the time and complexity involved. In the interests of simplicity, we will provide the commands required to install a stable version of MongoDB using the system package manager of the most common UNIXlike operating systems. This is the easiest method, assuming you are on one of these platforms. For Mac OS X and Windows, we provide instructions to install the binary packages from 10gen. Ubuntu / Debian: sudo apt-get update; sudo apt-get install mongodb Fedora: sudo yum install mongo-stable-server FreeBSD: sudo pkg_add -r mongodb Windows: Go to http://www.mongodb.org and download the latest production release zip file for Windows—choosing 32-bit or 64-bit depending on your system. Extract the contents of the zipfile to a location like C:\mongodb and add the bin directory to your PATH. Mac OS X: Go to http://www.mongodb.org and download the latest production release compressed tar file for OS X—choosing 32-bit or 64-bit depending on your system.


pages: 163 words: 42,402

Machine Learning for Email by Drew Conway, John Myles White

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

call centre, correlation does not imply causation, Debian, natural language processing, Netflix Prize, pattern recognition, recommendation engine, SpamAssassin, text mining

In fact, all modern sophisticated spam filters utilize information contained in email message headers, such as whether portions of it appear to have been forged, whether the message is from a known spammer, or whether there are bits missing. Example 3-1. Typical “easy ham” email ........................................................ Received: from usw-sf-list1-b.sourceforge.net ([10.3.1.13] helo=usw-sf-list1.sourceforge.net) by usw-sf-list2.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 17hsof-00042r-00; Thu, 22 Aug 2002 07:20:05 -0700 Received: from vivi.uptime.at ([62.116.87.11] helo=mail.uptime.at) by usw-sf-list1.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 17hsoM-0000Ge-00 for <spamassassin-devel@lists.sourceforge.net>; Thu, 22 Aug 2002 07:19:47 -0700 Received: from [192.168.0.4] (chello062178142216.4.14.vie.surfer.at [62.178.142.216]) (authenticated bits=0) by mail.uptime.at (8.12.5/8.12.5) with ESMTP id g7MEI7Vp022036 for <spamassassin-devel@lists.sourceforge.net>; Thu, 22 Aug 2002 16:18:07 +0200 From: David H=?

If you encounter any errors during the installation, using either the compiled binary distribution or the source code, consult the R for Mac OS X FAQ at the mirror of your choice. Linux As with Mac OS X, R comes preinstalled on many Linux distributions. Simply type R at the command line and the R console will be loaded. You can now begin programming! The CRAN mirror also includes installations specific to several Linux distributions, with instructions for installing R on Debian, RedHat, SUSE, and Ubuntu. If you use one of these installations, we recommend that you consult the instructions for your operating system, because there is considerable variance in the best practices between Linux distributions. IDEs and Text Editors R is a scripting language and therefore the majority of the work done in this book’s case studies will be done within a IDE or text editor, rather than directly inputted into the R console.


pages: 1,065 words: 229,099

Real World Haskell by Bryan O'Sullivan, John Goerzen, Donald Stewart, Donald Bruce Stewart

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

bash_history, database schema, Debian, distributed revision control, domain-specific language, en.wikipedia.org, Firefox, general-purpose programming language, job automation, p-value, Plutocrats, plutocrats, revision control, sorting algorithm, transfer pricing, type inference, web application, Y Combinator

He has written a number of real-world Haskell libraries and applications, including the HDBC database interface, the ConfigFile configuration file interface, a podcast downloader, and various other libraries relating to networks, parsing, logging, and POSIX code. John has been a developer for the Debian GNU/Linux operating system project for over 10 years and maintains numerous Haskell libraries and code for Debian. He also served as President of Software in the Public Interest, Inc., the legal parent organization of Debian. John lives in rural Kansas with his wife and son, where he enjoys photography and geocaching. Don Stewart is an Australian hacker based in Portland, Oregon. Don has been involved in a diverse range of Haskell projects, including practical libraries, such as Data.ByteString and Data.Binary, as well as applying the Haskell philosophy to real-world applications including compilers, linkers, text editors, network servers, and systems software.

You can find it in the system’s /Applications/Utilities folder. The installation process should take a minute or two. Finally, you should be able to successfully run the ghci command from your shell prompt (see Figure A-5). Figure A-5. Screenshot of the ghci interpreter running in a Terminal window on Mac OS X Alternatives Both the MacPorts and Fink projects provide builds of GHC. Ubuntu and Debian Linux Under both Ubuntu and Debian, you can install a minimal working version of GHC by running sudo aptitude install ghc6 from a shell prompt. These distros maintain a small core GHC package, which is insufficient for much practical development. However, they make a number of additional prebuilt packages available; run apt-cache search libghc6 to find a complete list of these prebuilt packages. We recommend that you install at least the mtl package, using sudo aptitude install libghc6-mtl-dev.

combinator functions, Gluing Predicates Together combining functions, Getting started with the API command-line, Command-Line Editing in ghci, A Simple Command-Line Framework, Reading Command-Line Arguments arguments, reading, Reading Command-Line Arguments editing, Command-Line Editing in ghci commas (,), Lists, Useful Composite Data Types: Lists and Tuples, First Steps with Parsec: Simple CSV Parsing CSV files and, First Steps with Parsec: Simple CSV Parsing tuples, writing, Useful Composite Data Types: Lists and Tuples compact function, Compact Rendering comparison operators, Boolean Logic, Operators, and Value Comparisons, Equality, Ordering, and Comparisons compilers, Your Haskell Environment, Compiling Haskell Source Glasgow Haskell, Your Haskell Environment components (types), Defining a New Data Type composable functors, Thinking More About Functors composite data types, Useful Composite Data Types: Lists and Tuples concat function, More Simple List Manipulations, Left Folds, Laziness, and Space Leaks, The List Monad concurrent programs, Concurrent and Multicore Programming–Conclusions, Hiding Latency, The Main Thread and Waiting for Other Threads–Communicating over Channels, Shared-State Concurrency Is Still Hard–Using Multiple Cores with GHC, A Concurrent Web Link Checker latency, hiding, Hiding Latency main thread waiting for other threads, The Main Thread and Waiting for Other Threads–Communicating over Channels shared-state, Shared-State Concurrency Is Still Hard–Using Multiple Cores with GHC conditional evaluation, Conditional Evaluation–Understanding Evaluation by Example, Conditional Evaluation with Guards constant applicative forms (CAFs), Time Profiling constants, binding C to Haskell, Binding to Constants constraints, Constraints on Type Definitions Are Bad, Constraints on Our Decoder decoding, Constraints on Our Decoder type definitions and, Constraints on Type Definitions Are Bad constructors, Construction and Deconstruction Content-Length field, Parsing Headers continuations, Parsing Headers control-with-character escapes, Control-with-Character Escapes Control.Applicative module, Infix Use of fmap Control.Arrow module, Another Round of Golf control.Concurrent module, Initializing the GUI, Concurrent Programming with Threads concurrent programming with threads, Concurrent Programming with Threads Control.Exception module, The Acquire-Use-Release Cycle, First Steps with Exceptions, Selective Handling of Exceptions Control.Monad module, Another Way of Looking at Monads, Generalized Lifting, Failing Safely with MonadPlus, Writing Tighter Code lifting, Generalized Lifting MonadPlus typeclass and, Failing Safely with MonadPlus Control.Monad.Error module, Usage of the Maybe monad, Monadic use of Either, Error Handling in Monads Control.Monad.Trans module, Designing for Unexpected Uses Control.Parallel module, Transforming Our Code into Parallel Code Control.Parallel.Strategies module, Separating Algorithm from Evaluation Coordinated Universal Time (UTC), ClockTime and CalendarTime cores, Using Multiple Cores with GHC, Understanding Core–Advanced Techniques: Fusion using multiple, Using Multiple Cores with GHC cos function, Numeric Types countEntries function, Stacking Multiple Monad Transformers CSV files, First Steps with Parsec: Simple CSV Parsing–The sepBy and endBy Combinators, The sepBy and endBy Combinators Parsec helper functions and, The sepBy and endBy Combinators ctTZName function, Using CalendarTime ctWDay function, Using CalendarTime ctYDay function, Using CalendarTime currying, using partial functions, Partial Function Application and Currying custom data types for errors, Custom data types for errors c_sin function, Foreign Language Bindings: The Basics D dash (-), as a range character, Filename Matching data keyword, Defining a New Data Type, How to Give a Type a New Identity newtype keyword and, How to Give a Type a New Identity data structures, Defining a New Data Type, The structure, Association Lists–General-Purpose Sequences, Functions Are Data, Too, Taking Advantage of Functions as Data–General-Purpose Sequences functions and, Functions Are Data, Too, Taking Advantage of Functions as Data–General-Purpose Sequences taking advantage of, Taking Advantage of Functions as Data–General-Purpose Sequences data type, defining, Defining a New Data Type–Type Synonyms (see also types) Data.Array module, Introducing Arrays, Folding over Arrays barcode recognition and, Introducing Arrays folding over arrays, Folding over Arrays Data.Bits module, Pretty Printing a String Data.ByteString.Char8 module, Text I/O, The Real Deal: Compiling and Matching Regular Expressions Data.ByteString.Lazy.Char8 module, Text I/O Data.Char module, Transforming Every Piece of Input Data.Dynamic module, Dynamic Exceptions Data.Foldable module, General-Purpose Sequences, Interference with Pure Code Data.Function module, Remembering a Match’s Parity Data.List module, As-patterns, Strictness and Tail Recursion tails function, As-patterns Data.List.lookup function, Association Lists Data.Map module, A Brief Introduction to Maps, Maps–Functions Are Data, Too Data.Monoid module, Lists, Difference Lists, and Monoids Data.Ratio module, Getting Started with ghci, the Interpreter Data.Sequence module, General-Purpose Sequences Data.Traversable module, Interference with Pure Code Data.Typeable module, Dynamic Exceptions database engines, Overview of HDBC Database.HDBC module, Initializing the GUI databases, Using Databases–Error Handling, Connecting to Databases, Simple Queries, Lazy Reading, Database Metadata connecting, Connecting to Databases lazy reading, Lazy Reading metadata, Database Metadata queries, Simple Queries dates, Dates and Times–Extended Example: Piping dates and times, Dates and Times–Extended Example: Piping Daylight Saving Time (DST), ClockTime and CalendarTime -ddump-asm compiler flag, Tuning the Generated Assembly -ddump-simpl compiler flag, Understanding Core, Profile-Driven Performance Tuning deadlocks, Safely Modifying an MVar, Deadlock Dean, Jeffrey, Finding the Most Popular URLs Debian Linux, installing GHC/Haskell libraries, Ubuntu and Debian Linux debugging, Boolean Logic, Operators, and Value Comparisons declarations (module), The Anatomy of a Haskell Module decoding barcodes, Encoding an EAN-13 Barcode deconstructors, Construction and Deconstruction delete function, Getting started with the API DeriveDataTypeable language, Dynamic Exceptions describeTable function, Database Metadata DiffArray type, Modifying Array Elements diffClockTimes function, TimeDiff for ClockTime directories, Directory and File Information disconnect function, Connecting to Databases discriminated unions, The discriminated union div function, Numeric Types do keyword, A Simple Command-Line Framework, Sequencing, Desugaring of do Blocks Monads and, Desugaring of do Blocks sequencing and, Sequencing Doc data type, Generating Test Data doskey command (ghci), Command-Line Editing in ghci double hashing, Turning Two Hashes into Many double quotes ("), writing strings, Strings and Characters, Writing Character and String Literals Double value, Some Common Basic Types, Numeric Types drivers (HDBC), installing, Installing HDBC and Drivers drop function, Functions over Lists and Tuples, Conditional Evaluation dropWhile function, Working with Sublists DST (Daylight Saving Time), ClockTime and CalendarTime duck typing, Static Types dynamic exceptions, Dynamic Exceptions–Error Handling in Monads E EAN-13 barcodes, A Little Bit About Barcodes easyList function, Testing with QuickCheck Either type, Motivation: Boilerplate Avoidance, Use of Either–Exceptions, Monadic use of Either monadic use of, Monadic use of Either elem function, Searching Lists elements function, Generating Test Data ELF object files, Binary I/O and Qualified Imports else keyword, Conditional Evaluation embedded domain specific languages, A Domain-Specific Language for Predicates–Controlling Traversal EmptyDataDecls language extension, Typed Pointers enclose function, Pretty Printing a String endBy function, The sepBy and endBy Combinators #enum construct, Automating the Binding enum keyword (C/C++), The enumeration Enum typeclass, Using CalendarTime enumeration notation, Lists enumeration types, The enumeration environment (programming), Your Haskell Environment environment variables, Environment Variables EOF (end of file), Working with Files and Handles eol function, Lookahead equality tests, The Need for Typeclasses, Equality, Ordering, and Comparisons error function, Handling Errors Through API Design errors, Boolean Logic, Operators, and Value Comparisons, Boolean Logic, Operators, and Value Comparisons, Strong Types, Algebraic Data Types, Reporting Errors, Type Inference Is a Double-Edged Sword, More Helpful Errors, Standard Input, Output, and Error, Handling Errors Through API Design, Reporting Parse Errors, Error Handling, Error Handling–Exceptions, Error Handling with Data Types–Exceptions, Custom data types for errors, Error Handling in Monads, Error Handling API design, handling, Handling Errors Through API Design compiling source code, Type Inference Is a Double-Edged Sword custom data types for, Custom data types for errors handling, Error Handling–Exceptions, Error Handling with Data Types–Exceptions, Error Handling in Monads, Error Handling data types, Error Handling with Data Types–Exceptions databases, Error Handling monads, Error Handling in Monads I/O and, Standard Input, Output, and Error messages, Boolean Logic, Operators, and Value Comparisons, Boolean Logic, Operators, and Value Comparisons, Algebraic Data Types Boolean values and, Boolean Logic, Operators, and Value Comparisons No instance, Boolean Logic, Operators, and Value Comparisons, Algebraic Data Types parsers, handling, Error Handling reporting, Reporting Errors typeclasses, Strong Types, More Helpful Errors ErrorT transformer, Error Handling in Monads escape characters, Strings and Characters escaping text, Escaping Text /etc/passwd file, Extended Example: /etc/passwd–Extended Example: Numeric Types evaluation, Understanding Evaluation by Example–Polymorphism in Haskell, Conditional Evaluation with Guards, Space Leaks and Strict Evaluation–Learning to Use seq conditional with guards, Conditional Evaluation with Guards strict, Space Leaks and Strict Evaluation–Learning to Use seq evaluation strategies, Separating Algorithm from Evaluation event-driven programming, Event-Driven Programming Exception type, First Steps with Exceptions exceptions, Error Handling, Exceptions–Error Handling in Monads, Selective Handling of Exceptions, I/O Exceptions, Throwing Exceptions, Dynamic Exceptions–Error Handling in Monads dynamic, Dynamic Exceptions–Error Handling in Monads I/O (input/output), I/O Exceptions selective handling of, Selective Handling of Exceptions throwing, Throwing Exceptions --exclude flag (hpc), Measuring Test Coverage with HPC executables, creating, Generating a Haskell Program and Importing Modules executeFile function, Using Pipes for Redirection exhaustive patterns, Exhaustive Patterns and Wild Cards explicit recursion, Explicit Recursion exponentiation (**) operator, Undefined Values, and Introducing Variables, Numeric Types exports, The Anatomy of a Haskell Module Exposed-Modules field, Writing a Package Description expressions, Passing an Expression to a Function, Introducing Local Variables functions, passing to, Passing an Expression to a Function let blocks and, Introducing Local Variables external programs, running, Running External Programs extract methods, The Monad Laws and Good Coding Style F fail function, The Monad Typeclass False Boolean value, Boolean Logic, Operators, and Value Comparisons FDs (file descriptors), Using Pipes for Redirection Fedora Linux, installing GHC/Haskell libraries, Fedora Linux fetchAllRowsAL’ function, Lazy Reading fetchAllRows’ function, Reading with Statements FFI (Haskell Foreign Function Interface), Interfacing with C: The FFI–The Real Deal: Compiling and Matching Regular Expressions FFI binding, Compilation Options and Interfacing to C fFlush function, Flushing The Buffer file descriptors (FDs), Using Pipes for Redirection file processing, Efficient File Processing–Putting Our Code to Work filename matching, Filename Matching files, Working with Files and Handles–Extended Example: Functional I/O and Temporary Files, Deleting and Renaming Files, Temporary Files, Efficient File Processing, Filename Matching, Sizing a File Safely–A Domain-Specific Language for Predicates, Directory and File Information, File Modification Times deleting/renaming, Deleting and Renaming Files filename matching, Filename Matching modification times, File Modification Times processing, Efficient File Processing (see file processing) sizing safely, Sizing a File Safely–A Domain-Specific Language for Predicates System.Directory module, using, Directory and File Information temporary, Temporary Files filesystems, I/O Case Study: A Library for Searching the Filesystem–Common Layout Styles searching, I/O Case Study: A Library for Searching the Filesystem–Common Layout Styles filter function, Searching Lists, Selecting Pieces of Input, Filters with interact interact, Filters with interact find command, I/O Case Study: A Library for Searching the Filesystem first function, Another Round of Golf flex, Using Parsec Float type, Numeric Types floating-point numbers, Simple Arithmetic, Lists enumerating, Lists fmap function, Infix Use of fmap, Monads and Functors, Moving Down the Stack monads and, Monads and Functors fold functions, Computing One Answer over a Collection, The Left Fold, Folding from the Right–Left Folds, Laziness, and Space Leaks folding from left, The Left Fold folding from right, Folding from the Right–Left Folds, Laziness, and Space Leaks foldl function, The Left Fold, Folding from the Right–Left Folds, Laziness, and Space Leaks, Left Folds, Laziness, and Space Leaks, Strictness and Tail Recursion foldr function and, Folding from the Right–Left Folds, Laziness, and Space Leaks laziness and space leaks, Left Folds, Laziness, and Space Leaks foldr function, Computing One Answer over a Collection, Folding from the Right–Left Folds, Laziness, and Space Leaks fold’ function, Strictness and Tail Recursion force function, Knowing What to Evaluate in Parallel foreign import declarations, Foreign Language Bindings: The Basics Foreign modules, Foreign Language Bindings: The Basics–Regular Expressions for Haskell: A Binding for PCRE Foreign.C.String module, Foreign Language Bindings: The Basics, Passing String Data Between Haskell and C Foreign.Marshal.Array module, Foreign Language Bindings: The Basics Foreign.Ptr module, Foreign Language Bindings: The Basics ForeignPtr type, Memory Management: Let the Garbage Collector Do the Work forkManaged function, Safe Resource Management: A Good Idea, and Easy Besides forkProcess function, Using Pipes for Redirection forM function, Why Provide Both mapM and forM?


pages: 313 words: 84,312

We-Think: Mass Innovation, Not Mass Production by Charles Leadbeater

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

1960s counterculture, Andrew Keen, barriers to entry, bioinformatics, c2.com, call centre, citizen journalism, clean water, cloud computing, complexity theory, congestion charging, death of newspapers, Debian, digital Maoism, double helix, Edward Lloyd's coffeehouse, frictionless, frictionless market, future of work, game design, Google Earth, Google X / Alphabet X, Hacker Ethic, Hernando de Soto, hive mind, Howard Rheingold, interchangeable parts, Isaac Newton, James Watt: steam engine, Jane Jacobs, Jaron Lanier, Jean Tirole, jimmy wales, John von Neumann, Kevin Kelly, knowledge economy, knowledge worker, lone genius, M-Pesa, Mark Zuckerberg, Marshall McLuhan, Menlo Park, microcredit, new economy, Nicholas Carr, online collectivism, planetary scale, post scarcity, Richard Stallman, Silicon Valley, slashdot, social web, software patent, Steven Levy, Stewart Brand, supply-chain management, The Death and Life of Great American Cities, the market place, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, Thomas Kuhn: the structure of scientific revolutions, Whole Earth Catalog, Zipcar

In the five years from 1999 the number of Linux installations grew by 28 per cent a year, and by 2006 Linux accounted for about 80 per cent of software on computer servers worldwide.6 The figure of 29 million registered Linux users in the world by 2006 vastly underestimates the true user base for open-source software.7 Every time anyone runs a search on Google they are a Linux user because Google’s servers run on Linux. Linux’s market share expanded as the software became more complex. The version distributed in March 2000 by Red Hat, which specialises in installing Linux for corporations, had 17 million lines in its source code. One estimate suggests it would have taken 4,500 person-years of work for professional software-coders to develop this, at a cost of about $600 million.8 The version released by Debian in June 2005 had 229 million lines in its source code and would have taken 60,000 person-years of software-coding at a cost of perhaps $8 billion.9 (To put that in context, the version of Microsoft Windows XP released in 2002 had an estimated 40 million lines in its source code.) IBM is just one software company that has recently started investing in shared, open-source platforms such as Linux.

Within days the mailing list for Linux activists had 196 members. 6 Ilkka Tuomi, Networks of Innovation: Change and Meaning in the Age of the Internet (Oxford University Press, 2002) 7 See http://counter.li.org/ 8 David A. Wheeler, ‘More than a Gigabuck: Estimating GNU/Linux’s Size’, www.dwheeler.com, July 2002. Available from http://www.dwheeler.com/sloc/ redhat71-v1/redhat71sloc.html 9 Juan José Amor-Iglesias, Jesús M. González-Barahona, Gregorio Robles-Martínez and Israel Herráiz-Tabernero, ‘Measuring Libre Software Using Debian 3.1 (Sarge) as a Case Study: Preliminary Results’, UPGRADE6.3, June 2005. Available from http://www.upgrade-cepis.org/ issues/2005/3/up6-3Amor.pdf 10 Steven Weber, The Success of Open Source (Cambridge, MA/London: Harvard University Press, 2004) 11 Thomas Kuhn, The Structure of Scientific Revolutions (University of Chicago Press, 1962), p. 10 12 Richard K. Lester and Michael Piore, Innovation: The Mission Dimension (Cambridge, MA/London: Harvard University Press, 2004) 13 Andrew Hargadon, How Breakthroughs Happen (Boston, MA: HBS Press, 2003) 14 James Surowiecki, The Wisdom of Crowds (Little, Brown, 2004) 15 Scott E.

World of Warcraft: How the virtual world created by this computer strategy game has changed the reality of over 8 million players’ lives. Web 2.0: Exploring the new face of the web, from blogs to wikis through folksonomies, RSS and social networking. BIBLIOGRAPHY Amor-Iglesias, Juan José, Jesús M. González-Barahona, Gregorio Robles-Martínez and Israel Herráiz-Tabernero, ‘Measuring libre software using Debian 3.1 (Sarge) as a case study: preliminary results’, UPGRADE6.3, June 2005. Available from http://www.upgrade-cepis.org/ issues/2005/3/up6–3Amor.pdf Audretsch, David B., Innovation and Industry Evolution (Cambridge, MA/London: MIT Press, 1995) Bak, Per, How Nature Works (New York: Copernicus, 1996) Baldwin, Carliss Y., and Kim B. Clark, Design Rules (Cambridge, MA/London: MIT Press, 2000) Ball, Philip, ‘Life, But Not as We Know It’, Prospect , August 2007 Barboza, David, ‘Ogre to Slay?

Linux Security Cookbook by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, GnuPG, web of trust, x509 certificate

Every recipe has caveats, exceptions, and limitations: some stated, and others merely implied by the "facts of life" of computer security in the real world. Supported Linux Distributions We developed and tested these recipes on the following Linux distributions: Red Hat Linux 8.0, kernel 2.4.18 SuSE Linux 8.0, kernel 2.4.18 Red Hat Linux 7.0, kernel 2.2.22 (for the ipchains recipes in Chapter 2) In addition, our technical review team tested recipes on Red Hat 6.2, SuSE 8.1, Debian 3.0, and Mandrake 9.0. Overall, most recipes should work fine on most distributions, as long as you have the necessary programs installed. Trying the Recipes Most recipes provide commands or scripts you can run, or a set of configuration options for a particular program. When trying a recipe, please keep in mind: Our default shell for recipes is bash. If you use another shell, you might need different syntax for setting environment variables and other shell-specific things.

filename -> rule -i ; For example: /mnt/windows/system -> $(SEC_BIN) -i ; 1.14.3 Discussion Modern Linux kernels do not assign constant inode numbers in VFAT filesystems. 1.14.4 See Also The Tripwire manual has detailed documentation on the policy file format. Recipe 1.15 Verifying RPM-Installed Files 1.15.1 Problem You have installed some RPM packages, perhaps long ago, and want to check whether any files have changed since the installation. 1.15.2 Solution # rpm -Va [packages] Debian Linux has a similar tool called debsums. 1.15.3 Discussion If your system uses RPM packages for installing software, this command conveniently compares the installed files against the RPM database. It notices changes in file size, ownership, timestamp, MD5 checksum, and other attributes. The output is a list of (possibly) problematic files, one per line, each preceded by a string of characters with special meaning.

We don't recommend vim -x, however, because it has some significant disadvantages compared to GnuPG: It's nonstandard: you can encrypt and decrypt these files only with vim. It's weaker cryptographically than GnuPG. It doesn't automatically disable viminfo or swap files. You can do this manually by setting the viminfo and swapfile variables, but it's easy to forget and leave decrypted data on the disk as a consequence. 7.24.4 See Also Wouter Hanegraaff's original solution can be found at http://qref.sourceforge.net/Debian/reference/examples/vimgpg. Recipe 7.25 Encrypting Backups 7.25.1 Problem You want to create an encrypted backup. 7.25.2 Solution Method 1: Pipe through gpg. To write a tape: $ tar cf - mydir | gpg -c | dd of=/dev/tape bs=10k To read a tape: $ dd if=/dev/tape bs=10k | gpg --decrypt | tar xf - To write an encrypted backup of directory mydir onto a CD-ROM: #!/bin/sh mkdir destdir tar cf - mydir | gpg -c > destdir/myfile.tar.gpg mkisofs -R -l destdir | cdrecord speed=${SPEED} dev=${SCSIDEVICE} - where SPEED and SCSIDEVICE are specific to your system; see cdrecord(1).


pages: 157 words: 35,874

Building Web Applications With Flask by Italo Maia

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

continuous integration, create, read, update, delete, Debian, en.wikipedia.org, Firefox, full stack developer, minimum viable product, MVC pattern, premature optimization, web application

This book is optimized for Python 2.x, so, that's the version I advise you to use from now on. All the examples and code are aimed at that Python version, which is the default in most Linux distributions. Prerequisites and tools First, let's make sure our environment is properly configured. For this course, I assume you are using a Debian-like Linux distribution, such as Mint (http://www.linuxmint.com/) or Ubuntu (http://ubuntu.com/). All the instructions will be geared towards these systems. Let's begin by installing the required Debian packages with apt-get as follows: sudo apt-get install python-dev python-pip This will install the Python development tools and libraries required for compiling Python packages, and pip: a neat tool you can use to install Python packages from the command line. On with it! Let's install our virtual environment managing tool: sudo pip install virtualenvwrapper echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc To explain what we just did: sudo tells our OS that we want administrative privileges to run the next command, and pip is the default Python package management tool and helps us install the virtualenvwrapper package.


pages: 174 words: 34,672

Nginx Essentials by Valery Kholodkov

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, en.wikipedia.org, web application

The load balancer ensures that each of the active instances gets an approximately equal amount of traffic, and routes traffic away from an instance if it shows any connectivity problems. Because of the difference in the architecture, the management procedures for a clustered setup are slightly different than for a standalone instance. We will discuss these differences soon. Starting and stopping Nginx In the previous chapter, you learned a bit about how to start your Nginx instance. On Ubuntu, Debian, or Redhat-like systems you can run the following command: # service nginx start In the absence of startup scripts, you can simply run the binary using the following command: # sbin/nginx Nginx will read and parse the configuration file, create a PID file (a file containing its process ID), open log files, create listening sockets, and start worker processes. Once worker processes have started, a Nginx instance is able to respond to incoming connections.

Typical signs of such problems are as follows: A process spends too much time in the running state (R) and does not shut down A process spends too much time in the noninterruptible sleep state (D) and does not shut down A process is sleeping (S) and does not shut down In each of these cases, you can force the worker process to shut down by first sending the TERM signal directly to the worker process. If the worker process does not react within 30 seconds, you can force the process to quit by sending it the KILL signal. Distribution-specific startup scripts On Ubuntu, Debian, and RHEL, the startup script automates the preceding control sequences. By using the startup script, you don't need to remember the exact sequence of the commands and signal names. The following table illustrates the use of the startup script: Command Equivalent to service nginx start sbin/nginx service nginx stop TERM, wait 30 seconds, then KILL service nginx restart service nginx stop and service nginx start service nginx configtest nginx -t <config file> service nginx reload service nginx configtest and HUP service nginx rotate USR1 service nginx upgrade USR2 and QUIT to the old master service nginx status show status of the instance The binary upgrade procedure is limited to starting the new binary and signaling the old master process to gracefully shut down, so you don't have an option to test-drive the new binary in this case.


pages: 1,266 words: 278,632

Backup & Recovery by W. Curtis Preston

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Berlin Wall, business intelligence, business process, database schema, Debian, dumpster diving, failed state, fault tolerance, full text search, job automation, side project, Silicon Valley, web application

Setting Up the Server To install the Bacula application, we’ll use RPMs provided by http://www.bacula.org, which can be installed using standard Linux system management techniques and tools. The packages install the Bacula configuration files for Linux in /etc/bacula, as mandated by the Linux Standard Base (LSB). For ease of installation, we’ll use the SQLite database (in a production network, you would use MySQL or PostgreSQL). Tip Bacula is also available in Debian and other packaging formats. Although the version of Bacula available in Debian Sarge is ancient, Debian Etch is tracking recent Bacula releases, and backports of new Bacula versions to Sarge exist. For our simple example, just rename the default client ID of Client1 to test1, and define a FileSet resource using the following line: File = /etc Tip A FileSet specifies files to back up for a given Job. The following line is needed in the default pool definition to tell Bacula to create new sequentially numbered volumes as it requires them: Label Format = TestVol The other supplied defaults are suitable for most small configurations.

If you are upgrading for the first time to version 3.0 or later, the configure.pl script continues to use the original locations for the data store, configuration files, and program executables. Installation packages An alternative to the manual installation procedure described here is to find and install a BackupPC package specific to your operating system. Packages exist for Debian, Ubuntu, Gentoo, and others. For example, BackupPC can be installed on Debian with: # apt-get install backuppc Starting BackupPC The BackupPC server is started by using the init.d script created as part of the installation. This means it is automatically started after a reboot. Using the CGI Interface By default, the CGI interface should be accessible via the URL http://localhost/cgi-bin/BackupPC/BackupPC_Admin.

A few times over the years, the company lost servers because of failed hard drives, and Amanda came to the rescue for bare-metal recovery. A major university in the United Kingdom has two Amanda servers on Fedora Core with more than 100 Linux (Fedora Core, Red Hat Enterprise Linux), Mac OS X, and Solaris clients with more that 2 TB of data. One of the Amanda servers is dedicated to backup of SAP and Oracle on Solaris. A cinematographic post-production company has three Debian Amanda servers at two sites protecting 84 Linux and IRIX clients with 26 TB of data. It recovers files about twice per week due to user error. In three years of production, it had three instances of total volume loss despite using RAID arrays, and Amanda was able to recover all three lost volumes. Throughout this chapter, we use examples of real-life Amanda implementations. Based on feedback from many Amanda users with a variety of configurations and different levels of Amanda expertise, we believe that the key reasons for wide adoption of Amanda are: Amanda simplifies your life as a system administrator because you can easily set up a single server to back up multiple networked clients to a tape, disk, or optical storage system.


pages: 933 words: 205,691

Hadoop: The Definitive Guide by Tom White

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Amazon Web Services, bioinformatics, business intelligence, combinatorial explosion, database schema, Debian, domain-specific language, en.wikipedia.org, fault tolerance, full text search, Grace Hopper, information retrieval, Internet Archive, linked data, loose coupling, openstreetmap, recommendation engine, RFID, SETI@home, social graph, web application

There are various ways to install and configure Hadoop. This chapter describes how to do it from scratch using the Apache Hadoop distribution, and will give you the background to cover the things you need to think about when setting up Hadoop. Alternatively, if you would like to use RPMs or Debian packages for managing your Hadoop installation, then you might want to start with Cloudera’s Distribution, described in Appendix B. To ease the burden of installing and maintaining the same software on each node, it is normal to use an automated installation method like Red Hat Linux’s Kickstart or Debian’s Fully Automatic Installation. These tools allow you to automate the operating system installation by recording the answers to questions that are asked during the installation process (such as the disk partition layout), as well as which packages to install.

Features Supported by Hadoop Release Series Feature1.x0.220.23 Secure authentication Yes No Yes Old configuration names Yes Deprecated Deprecated New configuration names No Yes Yes Old MapReduce API Yes Deprecated Deprecated New MapReduce API Partial Yes Yes MapReduce 1 runtime (Classic) Yes Yes No MapReduce 2 runtime (YARN) No No Yes HDFS federation No No Yes HDFS high-availability No No Planned Table 1-2 only covers features in HDFS and MapReduce. Other projects in the Hadoop ecosystem are continually evolving too, and picking a combination of components that work well together can be a challenge. Thankfully, you don’t have to do this work yourself. The Apache Bigtop project (http://incubator.apache.org/bigtop/) runs interoperability tests on stacks of Hadoop components, and provides binary packages (RPMs and Debian packages) for easy installation. There are also commercial vendors offering Hadoop distributions containing suites of compatible components. What’s Covered in this Book This book covers all the releases in Table 1-2. In the cases where a feature is only available in a particular release, it is noted in the text. The code in this book is written to work against all these release series, except in a small number of cases, which are explicitly called out.

The list of databases that it has been tested with includes MySQL, PostgreSQL, Oracle, SQL Server and DB2. For the examples in this chapter we’ll use MySQL, which is easy-to-use and available for a large number of platforms. To install and configure MySQL, follow the documentation at http://dev.mysql.com/doc/refman/5.1/en/. Chapter 2 (“Installing and Upgrading MySQL”) in particular should help. Users of Debian-based Linux systems (e.g., Ubuntu) can type sudo apt-get install mysql-client mysql-server. RedHat users can type sudo yum install mysql mysql-server. Now that MySQL is installed, let’s log in and create a database (Example 15-1). Example 15-1. Creating a new MySQL database schema % mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 349 Server version: 5.1.37-1ubuntu5.4 (Ubuntu) Type 'help;' or '\h' for help.

Python Web Development With Django by Jeff Forcier

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

create, read, update, delete, database schema, Debian, en.wikipedia.org, Firefox, full text search, loose coupling, MVC pattern, revision control, Silicon Valley, slashdot, web application

It takes a hostname or IP address (host), server port number (port), and a pathname (path) and attempts to contact the Web server running on the specified host at the given port number. If that is successful, it issues a GET request on the provided path.You can execute it and get the following output for checking the main Python Web site’s server: >>> check_web_server('www.python.org', 80, '/') HTTP Response: status = 200 reason = OK HTTP Headers: content-length: 16793 accept-ranges: bytes server: Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_ssl/2.2.3 OpenSSL/0.9.8c last-modified: Sun, 27 Apr 2008 00:28:02 GMT etag: "6008a-4199-df35c880" date: Sun, 27 Apr 2008 08:51:34 GMT content-type: text/html Keyword Arguments (in Function Calls) In addition to this “regular” calling convention, Python also enables you to specify named keyword arguments, which makes code using the function clearer and makes it easier to use functions—also, there’s no need to remember a fixed parameter order.

FileFields and ImageFields store uploaded data to a subdirectory of one’s settings.py-defined MEDIA_ROOT, which is specified in the upload_to field argument. In our model code, we’ve set this to ’photos,’ so if our settings.py contained the following: MEDIA_ROOT = ‘/var/www/gallery/media/’ our photos would necessarily end up in /var/www/gallery/media/photos/. If that directory doesn’t exist, it needs to be created, and it also needs to be writable by whatever user or group your Web server is running as. On our Debian-based system, we’re running Apache as the www-data user, so we can have a short shell session that looks like this (see Appendix A,“Command Line Basics,” for details on using the command line): user@example:~ $ cd /var/www/gallery/media user@example:/var/www/gallery/media $ ls admin user@example:/var/www/gallery/media $ mkdir photos user@example:/var/www/gallery/media $ ls -l total 4 lrwxrwxrwx 1 root root 59 2008-03-26 21:41 admin -> /usr/lib/python2.4/site-packages/django/contrib/admin/media drwxrwxr-x 2 user user 4096 2008-03-26 21:44 photos user@example:/var/www/gallery/media $ chgrp www-data photos user@example:/var/www/gallery/media $ chmod g+w photos user@example:/var/www/gallery/media $ ls -l total 4 lrwxrwxrwx 1 root root 59 2008-03-26 21:41 admin -> /usr/lib/python2.4/site-packages/django/contrib/admin/media drwxrwxr-x 2 user www-data 4096 2008-03-26 21:44 photos 161 162 Chapter 7 Photo Gallery The previous is only possible if your normal user is also in the www-data group— depending on your system setup you can find yourself having to use sudo or similar approaches, which is fine.We’ve found that when doing lots of system tasks that intersect with our Web server’s domain, it’s very useful to make ourselves part of its group; then as long as directories or files are group-writable (as previously shown) both the Web server and our user can interact with them.

This superuser is typically root and is also often set up with no initial password (something you should change as soon as you can), leading to a fairly quick database creation such as $ mysqladmin -u root create django_db Unlike Postgres, MySQL’s user management is done entirely within the database itself, so to create our django_user DB user we need to use MySQL’s SQL shell right away. It’s sensibly named mysql. $ mysql -u root Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.0.51a-6 (Debian) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. Summary mysql> GRANT ALL PRIVILEGES ON django_db.* TO 'django_user'@'localhost' IDENTIFIED BY 'django_pass'; Query OK, 0 rows affected (0.00 sec) mysql> That’s it! You’re now all set to update settings.py and start issuing database-related commands. manage.py Oracle The final database currently supported by Django at the time of writing is a commercial offering, Oracle.


pages: 351 words: 123,876

Beautiful Testing: Leading Professionals Reveal How They Improve Software (Theory in Practice) by Adam Goucher, Tim Riley

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Albert Einstein, barriers to entry, Black Swan, call centre, continuous integration, Debian, en.wikipedia.org, Firefox, Grace Hopper, index card, Isaac Newton, natural language processing, p-value, performance metric, revision control, six sigma, software as a service, software patent, the scientific method, Therac-25, Valgrind, web application

Once the scenario is set up, determining whether the test has been successful is not a trivial task either. Appropriate tools have to be used for some modules, such as the traffic shaping one, to determine the outcome of the test. To add to all these problems, eBox needs to be tested in several Ubuntu Linux and Debian GNU/Linux releases. Even if eBox is mainly targeted at the latest Ubuntu LTS (long-term support) release, we also release packages for the latest Ubuntu regular release and the latest Debian release to try to grow our user base. In addition, while making sure that all these releases work correctly, we have to start testing packages for the upcoming releases, to make sure our packages are ready as soon as the new releases are out. All of this adds up to a total of five different operating systems that we have to run tests for at a certain point.

Defining the details for every machine in every scenario would be a daunting task, and in addition, building operating system images is a long process that takes a lot of memory and disk space. Thus, in order to avoid having to build images more often than strictly needed, the scenario framework supports inheritance for machine definitions, allowing the user to define as many base images as needed and that hosts can later inherit from. A base image definition includes a name to refer to the image and an installation method. A program called debootstrap is used to install Debian-based distributions. This program is able to install a basic system on an empty disk, pulling the required packages from Internet mirrors and installing them in the new system. This installation method requires only one parameter: the name of the distribution to be installed. Base images can be reused in different scenarios with just minor changes. Every machine in a scenario declares which base image to use, and then, if changes are required in the image, it specifies the values of the parameters that need to be different.

He is the cocreator of the Windmill Testing Framework, Mozmill, and various other open source projects. He grew up in the northwest as an avid hiker, skier, and sailer and attended Washington State University studying computer science and business. His personal blog is at http://www.adamchristian.com. He is currently employed by Slide, Inc. I SAAC C LERENCIA is a software developer at eBox Technologies. Since 2001 he has been involved in several free software projects, including Debian and Battle for Wesnoth. He, along with other partners, founded Warp Networks in 2004. Warp Networks is the open source– oriented software company from which eBox Technologies was later spun off. Other interests of his are artificial intelligence and natural language processing. J OHN D. C OOK is a very applied mathematician. After receiving a Ph.D. in from the University of Texas, he taught mathematics at Vanderbilt University.

Practical OCaml by Joshua B. Smith

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

cellular automata, Debian, domain-specific language, general-purpose programming language, Grace Hopper, hiring and firing, John Conway, Paul Graham, slashdot, text mining, Turing complete, type inference, web application, Y2K

You can also download the source packages, which at the time of this writing can be found at http:// caml.inria.fr/download.en.html (this link is for the English language pages). If you download the source, you can build it via the standard ./configure;make;make install sequence that many autotools-built applications use. On many Linux distributions, there are OCaml binary packages available. For Debian (and Debian-derived) users, you can get the compilers via Advanced Package Tool (APT) like so: # apt-get install ocaml # apt-get install ledit # apt-get install tuareg-mode These three packages contain the OCaml compliers and interpreters, the Ledit program, and an improved XEmacs editing environment. For users of RPM-based distributions, you can download RPMs of the OCaml distribution from http://caml.inria.fr/download.en.html.

For example, if your OS does not support dynamic linking, findlib is not of much use in the toplevel. Findlib can be very useful—it integrates with OcamlMakefile to make building complex OCaml projects much easier. Findlib is not distributed with the standard release, however. If you are not using godi or a Debian-based Linux distribution, you can download it from http://www.ocaml-programming.de. If you are using godi, it is already installed because godi relies on findlib extensively. If you are using a Debian-based Linux distribution, you can use apt-get to install it. Otherwise, you can download the source and install it manually. Creating a Findlib META File Findlib relies upon properly formatted and installed META files. The Make_wizard automates this process quite nicely, but it requires labltk, which is not always available. 167 620Xch13final.qxd 168 9/22/06 12:39 AM Page 168 CHAPTER 13 ■ MODULES AND FUNCTORS The Make_wizard generates a new makefile, and does not use OCamlMakefile.


pages: 282 words: 79,176

Pro Git by Scott Chacon

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

continuous integration, Debian, distributed revision control, GnuPG, pull request, revision control

It is also the case that many Linux distributions contain very old packages; so unless you’re on a very up-to-date distro or are using backports, installing from source may be the best bet. To install Git, you need to have the following libraries that Git depends on: curl, zlib, openssl, expat, and libiconv. For example, if you’re on a system that has yum (such as Fedora) or apt-get (such as a Debian based system), you can use one of these commands to install all of the dependencies: $ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev When you have all the necessary dependencies, you can go ahead and grab the latest snapshot from the Git web site: http://git-scm.com/download Then, compile and install: $ tar -zxf git-1.6.0.5.tar.gz $ cd git-1.6.0.5 $ make prefix=/usr/local all $ sudo make prefix=/usr/local install After this is done, you can also get Git via Git itself for updates: $ git clone git://git.kernel.org/pub/scm/git/git.git Installing on Linux If you want to install Git on Linux via a binary installer, you can generally do so through the basic package-management tool that comes with your distribution.

For example, if you’re on a system that has yum (such as Fedora) or apt-get (such as a Debian based system), you can use one of these commands to install all of the dependencies: $ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev When you have all the necessary dependencies, you can go ahead and grab the latest snapshot from the Git web site: http://git-scm.com/download Then, compile and install: $ tar -zxf git-1.6.0.5.tar.gz $ cd git-1.6.0.5 $ make prefix=/usr/local all $ sudo make prefix=/usr/local install After this is done, you can also get Git via Git itself for updates: $ git clone git://git.kernel.org/pub/scm/git/git.git Installing on Linux If you want to install Git on Linux via a binary installer, you can generally do so through the basic package-management tool that comes with your distribution. If you’re on Fedora, you can use yum: $ yum install git-core Or if you’re on a Debian-based distribution like Ubuntu, try apt-get: $ apt-get install git-core Installing on Mac There are two easy ways to install Git on a Mac. The easiest is to use the graphical Git installer, which you can download from the Google Code page (see Figure 1–7): http://code.google.com/p/git-osx-installer Figure 1–7. Git OS X installer. The other major way is to install Git via MacPorts (http://www.macports.org).

In the examples below, we will use the gitolite account on a host called gitserver. Gitolite is somewhat unusual as far as “server” software goes — access is via ssh, and so every userid on the server is a potential “gitolite host”. As a result, there is a notion of “installing” the software itself, and then “setting up” a user as a “gitolite host”. Gitolite has 4 methods of installation. People using Fedora or Debian systems can obtain an RPM or a DEB and install that. People with root access can install it manually. In these two methods, any user on the system can then become a “gitolite host”. People without root access can install it within their own userids. And finally, gitolite can be installed by running a script on the workstation, from a bash shell. (Even the bash that comes with msysgit will do, in case you’re wondering.)


pages: 719 words: 104,316

R Cookbook by Paul Teetor

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, en.wikipedia.org, p-value, quantitative trading / quantitative finance, statistical model

You’ll see a list of mirror sites, organized by country. Select a site near you. Click on “MacOS X”. Click on the .pkg file for the latest version of R, under “Files:”, to download it. When the download completes, double-click on the .pkg file and answer the usual questions. Linux or Unix The major Linux distributions have packages for installing R. Here are some examples: DistributionPackage name Ubuntu or Debian r-base Red Hat or Fedora R.i386 Suse R-base Use the system’s package manager to download and install the package. Normally, you will need the root password or sudo privileges; otherwise, ask a system administrator to perform the installation. Discussion Installing R on Windows or OS X is straightforward because there are prebuilt binaries for those platforms. You need only follow the preceding instructions.

The CRAN Web pages also contain links to installation-related resources, such as frequently asked questions (FAQs) and tips for special situations (“How do I install R when using Windows Vista?”) that you may find useful. Theoretically, you can install R on Linux or Unix in one of two ways: by installing a distribution package or by building it from scratch. In practice, installing a package is the preferred route. The distribution packages greatly streamline both the initial installation and subsequent updates. On Ubuntu or Debian, use apt-get to download and install R. Run under sudo to have the necessary privileges: $ sudo apt-get install r-base On Red Hat or Fedora, use yum: $ sudo yum install R.i386 Most platforms also have graphical package managers, which you might find more convenient. Beyond the base packages, I recommend installing the documentation packages, too. On my Ubuntu machine, for example, I installed r-base-html (because I like browsing the hyperlinked documentation) as well as r-doc-html, which installs the important R manuals locally: $ sudo apt-get install r-base-html r-doc-html Some Linux repositories also include prebuilt copies of R packages available on CRAN.

=, <, >, <=, >=), Solution, Solution, Discussion complex atomic type, Problem component extraction ($), Solution Comprehensive R Archive Network, Solution (see CRAN) concatenating, Discussion, Discussion, Discussion, Problem printing objects, Discussion, Discussion, Discussion strings, Problem conditional execution, Discussion conditional tests, Problem conditioning plots, Solution confidence intervals, Discussion, Problem, Problem, Problem, Problem, Solution, Problem, Solution, Discussion adding to bar charts, Problem using bootstrap algorithm, Discussion confint() function, Discussion, Solution, Solution for a mean, Problem for a median, Problem for a proportion, Problem for regression coefficients, Problem connections, Discussion, Solution contingency tables, Problem continuation prompt (+), Discussion continuous distributions, Names of Distributions, Discussion converting, Problem, Problem, Problem, Discussion, Discussion, Problems with matrices, Problem, Problem, Problem, Problem, Problem atomic values, Problem data frame to vectors, Discussion data to z-scores, Problem date to string, Problem list to vector, Problem, Discussion mixed-mode matrix to data frame, Problems with matrices probabilities to quantiles, Problem string to date, Problem structured data types, Problem year, month, day into date, Problem coplot() function, Solution coredata() function, Discussion correlations, Problem, Discussion, Discussion, Problem, Solution cor() function, Problem, Discussion, Discussion cor.test() function, Solution testing for significance, Problem cov() function (covariance), Problem, Discussion Cramer–von Mises test, Discussion CRAN (Comprehensive R Archive Network), Other Resources, Solution, See Also, Solution, Solution, Solution, Problem, Discussion, See Also (see also task views) crantastic.org, Solution downloading R from, Solution, See Also finding functions/packages on, Solution installing packages from, Problem R Language Definition, Other Resources server and mirror sites, Discussion, See Also creating, Problem, Problem, Solution, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem bar charts, Problem box plots, Problem box plots for each factor level, Problem contingency tables, Problem interaction plot, Problem lists, Problem matrices, Problem non-normal Q-Q plots, Problem normal Q-Q plots, Problem scatter plots, Problem, Problem scatter plots for each factor level, Problem sequences, Problem, Problem series of repeated values, Solution vectors, Problem cross-correlation, Solution cross-tabulations, Discussion CSV files, Problem, Problem Ctrl key combinations, Discussion cumsum() function, Discussion cumulative distribution function, Problem cumulative probability function, Discussion curve() function, Notes on Graphics Functions, Solution customizing R, Problem, Startup Sequence cut() function, Solution cutree() function, Discussion cvm.test() function, Discussion D data, Discussion, Problem, Discussion, Discussion, Problem, See Also, Problem, An Example, Problem, Problem, Problem, Problem, Discussion, Discussion, Problem, Problem, Problem, Discussion, Problem, Problem, Problem appending to vectors, Problem binning, Problem calculating quantiles of, Problem column, initializing data frame from, Problem complex or irregularly structured (in data files), Problem, An Example data() function, Discussion displaying partial, Problem, Problem entering from keyboard, Problem inserting into vectors, Problem non-numeric, Discussion normalizing, Problem organized by observation, Discussion organized by variable, Discussion reading from the Web, Problem, See Also row, initializing data frame from, Problem self-describing (in data files), Discussion summarizing, Problem transforming into linear relationship, Discussion data editor, Solution data frames, Discussion, Discussion, Problem, Solution, Data Frames, Data Frames, Problem, Problem, Problem, Problem, Problem, Problem, Discussion, Problem, Problem, Problem, Solution, Solution, Problem, Problem, Problem, Problem, Discussion, Solution, Problem, Problem, Discussion, Solution, Discussion, Discussion, Problem, Problem, Problem, Problem accessing column contents, Problem appending rows to, Problem applying functions to columns of, Problem applying functions to groups of rows, Problem with basic statistics functions, Discussion changing column names, Problem combining, Problem converted to lists, Data Frames, Solution editing, Solution entering from keyboard, Problem excluding columns by name, Problem flattening, Problem initializing from a list, Problem initializing from column data, Problem initializing from row data, Problem interpretation by functions, Discussion merging by common column, Problem normalized values, Solution populating from built-in editor, Solution preallocating, Problem regressions between columns of, Discussion removing NAs from, Solution scatter plots from, Discussion selecting columns by name, Problem selecting columns by position, Problem, Discussion selecting rows/columns with subset(), Problem sorting, Problem, Problem structure of, Data Frames summaries of, Discussion summing rows and columns, Problem temporary copies, Discussion data structures, technical aspects of, Introduction datasets, Problem, Discussion, Problem accessing built-in, Problem dealing with mixed data from, Discussion plotting multiple, Problem dates, Classes for Dates and Times, Classes for Dates and Times, Problem, Problem, Solution, Problem, Problem, Problem, Problem, Date Versus Datetime, Discussion, Problem American-style, Solution calendar periods, Classes for Dates and Times, Discussion, Problem converting from string, Problem converting into string, Problem converting year, month, day into, Problem creating sequence of, Problem Date class, Classes for Dates and Times versus datetimes, Date Versus Datetime extracting year, month, or day from, Problem getting current, Problem dbConnect() function, Solution dbDisconnect() function, Solution dbGetQuery() function, Solution, Discussion dbinom() function, Discussion Debian, installing R on, Discussion defaultPackages list, Loading Packages deleting, Discussion, Problem Delete key, Discussion variables, Problem dendrograms, Discussion density functions for probability distributions, Solution, Problem density() function, Solution desktop icon, creating, Starting on Windows detach() function, Discussion, Solution detrending a time series, Problem, Discussion dev.set() function, Discussion deviance() function, Solution dfrm list operators, Solution dgamma() function, Discussion dgeom() function, Discussion diagnostic checks for regression, Problem dictionary, Lists diff() function, Discussion, Solution directories, Starting on Windows, Problem, Problem home, Problem working, Starting on Windows, Problem discrete distributions, Names of Distributions, Problem, Discussion discrete histograms, Problem dist() function, Discussion distribution function, Discussion distribution functions for probability distributions, Solution, Solution division operator (/), Solution dnorm() function, Names of Distributions, Discussion, Discussion do.call() function, Discussion, Solution, Discussion documentation, Introduction, Discussion, Problem, Problem packages, Discussion supplied, Introduction, Problem, Problem double atomic type, Problem down arrow, Discussion downloading and installing R, Problem, See Also dpill() function, Solution dpois() function, Discussion dput() function, Solution dump() function, Discussion, Solution dumping variable structure, Discussion dwtest() function (Durbin–Watson test), Solution dynamically typed language, Discussion E edit() function, Solution editor window, Solution, Solution effects() function, Solution eigen() function, Solution eigenvalues and eigenvectors, Problem elapsed time, Solution End key, Discussion environment variables, Discussion equals sign, Discussion, Solution, Solution, Discussion = (alternate assignment operator), Discussion == (comparison operator), Solution, Solution, Discussion errors, Problem, See Also, Discussion, Discussion, Discussion, Discussion, Discussion, Notes on Graphics Functions, Problem “cannot open the connection”, Discussion common syntax, Problem, See Also “could not find function”, Discussion, Discussion “has not been called yet”, Notes on Graphics Functions “not in a standard unambiguous format”, Discussion “object . . . not found”, Discussion suppressing messages, Problem escape character (\), Discussion, Discussion, Discussion Euclid’s algorithm, Discussion example() function, Discussion Excel worksheet, data frame as, Data Frames excluding data frame columns by name, Problem expand.grid() function, Solution exponential distributions, Names of Distributions, Discussion, Discussion, Discussion exponential smoothing, See Also exponentiation (^), Solution, Discussion, Discussion expsmooth package, See Also extracting, Problem, Problem, Problem, Problem Julian date, Problem oldest/newest observations, Problem parts of a date, Problem substrings, Problem F F distributions, Names of Distributions F statistic, Introduction, ANOVA, Discussion factor analysis/factanal() function, Problem factors, Discussion, Factors, Problem, Problem, Solution, Discussion, Solution, Defining Groups Via a Factor, Discussion, Problem, Problem, Problem, Problem, Problem categorical variables as, Problem creating, Problem creating box plot for each level, Problem creating scatter plot for each level, Problem defining groups via, Defining Groups Via a Factor factor() function, Solution, Solution generating all combinations of several, Problem levels of, Factors, Discussion non-numeric data in data files as, Discussion summaries of, Discussion tabulating, Problem testing categorical variables for independence, Problem faraway package, Discussion Faraway, Julian, See Also, Discussion Fedora, installing R on, Discussion files, listing, Problem filling a time series, Problem finding, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem best power transformation, Problem data clusters, Problem differences between means of groups, Problem lagged correlations between time series, Problem pairwise minimums or maximums, Problem position of a value, Problem relevant functions and packages, Problem and removing NULL elements, Problem .First(), .First.sys() functions, Startup Sequence first() function, Discussion fitted() function, Solution fitting the model, Introduction, Discussion, Problem fix() function, Solution fixed-width records (in data files), Problem flattening, Problem, Problem data frames, Problem list into vector, Problem forecast package, Solution format() function, Discussion, Solution forming, prediction intervals, Problem forward stepwise regression, Solution full model, Discussion function keyword, Solution functions, Problem, See Also, Discussion, Discussion, Discussion, Solution, Problem, Discussion, Problem, Problem, Problem, Problem, Problem, Problem, Problem, Problem anonymous, Discussion applying by calendar period, Problem applying rolling, Problem applying to groups of data, Problem applying to list elements, Problem applying to matrix columns, Problem applying to matrix rows, Problem arguments to, Discussion, Problem defining, Problem examples/demonstrations of, Discussion finding on CRAN, Solution getting help on, Problem, See Also graphing, Problem searching packages for, Discussion fUnitRoots package, Discussion G gamma distributions, Names of Distributions, Discussion, Discussion generating, Problem, Problem, Problem, Problem, Problem, Problem, Problem all combinations of several factors, Problem combinations, Problem random numbers, Problem random permutations of vectors, Problem random samples, Problem random sequences, Problem reproducible random numbers, Problem generic functions (methods), The Generic plot Function geometric distributions, Names of Distributions, Discussion, Discussion getting, Problem, Discussion, Problem, Problem, Problem, Problem current date, Problem environment variables, Discussion Julian date, Problem length of a string, Problem regression statistics, Problem working directory, Problem ggplot2 package, Graphics in Other Packages ggplot2: Elegant Graphics for Data Analysis (Wickham), Other Resources, Graphics in Other Packages glm() function, Solution global assignment operator (<<-), Discussion, Discussion global graphics parameters, Solution global variables, Discussion Golden Ratio graph dimensions, Discussion Goodman, Sasha, Other Resources gplots library, Solution Grammar of Graphics paradigm, Graphics in Other Packages graphics functions, Notes on Graphics Functions, Problem changing software parameters, Problem low-level versus high-level, Notes on Graphics Functions graphics package, Introduction graphics window, Solution, Solution graphing a function, Problem gray() function, Solution grid package, See Also grid() function, Solution Grothendieck, Gabor, Classes for Dates and Times grouping factors, Factors, Defining Groups Via a Factor, Problem, Discussion groups, Problem, Problem, Problem multiple, creating scatter plots of, Problem pairwise comparisons between means, Problem testing for equal proportions, Problem gsub() function, Solution H hashes, Lists hclust() function, Discussion head() function, Solution, Solution header lines, Discussion, Solution, Discussion, Problem help, Introduction, Solution, Problem, See Also, Discussion, See Also, Discussion, Solution, Problem, Problem, See Also, Solution, Discussion ?

Catalyst 5.8: The Perl MVC Framework by Antano Solar John, Jonathan Rockway, Solar John Antano

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

c2.com, create, read, update, delete, database schema, Debian, en.wikipedia.org, Firefox, MVC pattern, web application

Regardless of your operating system, you'll need Perl version 5.8.1 or higher (5.8.8, which is the latest at the time of writing, is the version used in this book). Version 5.10.x is already out, but as 5.8 is more widely used, the examples should stay that way. Ubuntu, for example, already ships 5.10 for a while. The easiest way to install Catalyst is via your operating system's package manager. This mostly applies to Linux and the BSDs and the syntax is specific to your distribution. On Debian-based versions of GNU/Linux, the command is: $ apt-get install libcatalyst-perl [ 11 ] Introduction to Catalyst On FreeBSD or OpenBSD, you can build the Catalyst port by running the following commands as root: $ cd /usr/ports/www/p5-Catalyst-Runtime $ make install If you're using ActiveState on Windows, ActiveState has a PPM (Perl Package Manager) package for Catalyst. You can find the PPM at http://cpan.uwinnipeg.ca/dist/ Catalyst-Runtime.

The test script sends the Selenium server commands to run inside the web browser. The web browser then executes those commands, and returns the results to the Selenium server and then your test script. It can be hard to get it up and running because it requires the Java Runtime Environment (JRE) and a working web browser. It is somewhat experimental, and the author has only tested on Cygwin with Firefox and IE and Debian GNU/Linux with Firefox. Developing Selenium tests is pretty easy, thanks to the Selenium IDE Firefox extension available at http://www.openqa.org/selenium-ide/. It turns Firefox into an IDE that can record and edit tests, and save them to the Perl format. To create a test against the Catalyst application, we'll start by recording the basic outline of the test with Selenium IDE. [ 215 ] Testing To get started, start the AddressBook application, then open the IDE, and click the red record button.


pages: 62 words: 14,996

SciPy and NumPy by Eli Bressert

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, p-value

Note that installing SciPy and NumPy with MacPorts will take time, especially with the SciPy package, so it’s a good idea to initiate the installation procedure and go grab a cup of tea. sudo port install py27-numpy py27-scipy py27-ipython MacPorts supports several versions of Python (e.g., 2.6 and 2.7). So, although py27 is listed above, if you would like to use Python 2.6 instead with SciPy and NumPy then you would simply replace py27 with py26. If you’re using a Debian-based Linux distro like Ubuntu or Linux Mint, then use apt-get to install the packages. sudo apt-get install python-numpy python-scipy With an RPM-based system like Fedora or OpenSUSE, you can install the Python packages using yum. sudo yum install numpy scipy Building and installing NumPy and SciPy on Windows systems is more complicated than on the Unix-based systems, as code compilation is tricky.


pages: 82 words: 17,229

Redis Cookbook by Tiago Macedo, Fred Oliveira

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, full text search, loose coupling, Silicon Valley

If your configuration file is in a different path from the default, you can pass it along as a parameter to redis-server: /usr/local/bin/redis-server /alternate-location-for-redis-config.conf Installing on Linux Most modern Linux distributions have Redis packages available for installation, but keep in mind that these are normally not up-to-date. However, if you prefer to use these, the installation procedure is much simpler: Debian/Ubuntu sudo apt-get install redis-server Fedora/Redhat/CentOS sudo yum install redis Gentoo sudo emerge redis This approach has a few advantages: by using your package management system, you can more easily keep software up-to-date, and you’ll most likely get at least security and stability updates. Besides that, you’ll also get startup scripts and an environment more suited to your distribution (user accounts, log files, database location, etc).


pages: 99 words: 19,884

Getting Started with RStudio by John Verzani

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, RFID, web application

Pane preference dialog for adjusting component layout Installing RStudio Installing RStudio is usually a straightforward process. First, RStudio requires a working, relatively modern R installation. If that is not already present, then one should consult http://cran.r-project.org to learn how to install R for the given operating system. For Windows and Mac OS X, one can simply download a self-installing binary; for Linux, installation varies. For the Debian distribution (including Ubuntu), the R system can be installed using the regular package-management tools. Of course, as R is open source, one can also compile and install it using the source code. The RStudio package is available for download from http://www.rstudio.org/download/. There is a choice between a Desktop version and a Server version. The Desktop version is appropriate for single-user use.


pages: 485 words: 74,211

Developing Web Applications with Haskell and Yesod by Michael Snoyman

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

create, read, update, delete, database schema, Debian, domain-specific language, full text search, MVC pattern, web application

You’ll also need Cabal, which is the standard Haskell build tool. Not only do we use Cabal for building our local code, but it can automatically download and install dependencies from Hackage, the Haskell package repository. If you’re on Windows or Mac, it is strongly recommended that you download the Haskell Platform. On Linux, many distributions include the Haskell Platform in their repositories. On Debian-based systems, for example, you can get started by running sudo apt-get install haskell-platform. If your distribution does not include the Haskell Platform, you can install it manually by following the instructions on the Haskell Platform page. One important tool you’ll need to update is alex. The Haskell Platform includes version 2, while the JavaScript minifier Yesod uses, hjsmin, requires version three.

Note Some people like to live on the bleeding edge and install the latest version of GHC before it is available in the Haskell Platform. We try to keep Yesod up-to-date with all current versions of GHC, but we only officially support the Haskell Platform. If you do go the route of manually installing GHC, here are a few notes: You’ll need to install some additional build tools, alex and happy in particular. Make sure to install all of the required C libraries. On Debian-based systems, you would need to run: sudo apt-get install libedit-dev libbsd-dev libgmp3-dev zlib1g-dev freeglut3-dev Regardless of how you’ve installed your tools, you should be sure to put cabal’s bin folder in your PATH variable. On Mac and Linux, this will be $HOME/.cabal/bin and on Windows it will be %APPDATA%\cabal\bin. cabal has lots of different options available, but for now, just try out two commands: cabal update will download the most recent list of packages from Hackage.

Exploring Everyday Things with R and Ruby by Sau Sheong Chang

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Alfred Russel Wallace, bioinformatics, business process, butterfly effect, cloud computing, Craig Reynolds: boids flock, Debian, Edward Lorenz: Chaos theory, Gini coefficient, income inequality, invisible hand, p-value, price stability, Skype, statistical model, stem cell, Stephen Hawking, text mining, The Wealth of Nations by Adam Smith, We are the 99%, web application, wikimedia commons

Simply go to http://rubyinstaller.org/downloads, download the correct version, and then install it. RubyInstaller includes many native C-based extensions, so that’s a bonus. It is a graphical installer, so it’s pretty simple to get a fresh installation set up quickly. Installing Ruby using your platform’s package management tool If none of the approaches listed so far suits you, then you can opt to use your system’s package management tool. For Debian systems (and this includes Ubuntu), you can use this command: $ sudo apt-get install ruby1.9.1 This will install Ruby 1.9.2. Yes, it’s weird. For Macs, while Ruby comes with OS X, it’s usually an older version (Lion comes with Ruby 1.8.7, and the previous versions come with even older versions of Ruby). There is a popular package management tool in OS X named Homebrew, which helps you to replace this with the latest version of Ruby.

: (question mark, colon), in Ruby ternary conditional expression, if and unless > (right angle bracket), The R Console, Variables and Functions -> assignment operator, R, Variables and Functions > R console prompt, The R Console ' ' (single quotes), enclosing Ruby strings, Strings [ ] (square brackets), Vectors, Matrices, Data frames accessing subset of R data frame, Data frames enclosing R matrix indexes, Matrices enclosing R vector indexes, Vectors [[ ]] (square brackets, double), enclosing single R vector index, Vectors A aes() function, R, Aesthetics An Inquiry into the Nature and Causes of the Wealth of Nations (University of Chicago Press), The Invisible Hand apply() function, R, Interpreting the Data Armchair Economist (Free Press), How to Be an Armchair Economist array() function, R, Arrays arrays, R, Arrays–Arrays arrays, Ruby, Arrays and hashes–Arrays and hashes, Arrays and hashes artificial society, Money (see Utopia example) as.Date() function, R, Number of Messages by Day of the Month ascultation, Auscultation assignment operators, R, Variables and Functions at sign, double (@@), preceding Ruby class variables, Class methods and variables attr keyword, Ruby, Classes and objects Audacity audio editor, Homemade Digital Stethoscope average, Interpreting the Data (see mean() function, R) Axtell, Robert (researcher), It’s a Good Life Growing Artificial Societies: Social Science from the Bottom Up (Brookings Institution Press/MIT Press), It’s a Good Life B backticks (` `), enclosing R operators as functions, Variables and Functions bar charts, Plotting charts, Interpreting the Data–Interpreting the Data, The Second Simulation–The Second Simulation, The Third Simulation–The Third Simulation, The Final Simulation–The Final Simulation barplot() function, R, Plotting charts batch mode, R, Sourcing Files and the Command Line Bioconductor repository, Packages birds flocking, Schooling Fish and Flocking Birds (see flocking example) bmp() function, R, Basic Graphs Boids algorithm, Schooling Fish and Flocking Birds–The Origin of Boids Box, George Edward Pelham (statistician), regarding usefulness of models, The Simple Scenario break keyword, R, Conditionals and Loops brew command, Installing Ruby using your platform’s package management tool butterfly effect, The Changes C c() function, R, Vectors CALO Project, The Emailing Habits of Enron Executives camera, pulse oximeter using, Homemade Pulse Oximeter case expression, Ruby, case expression chaos theory, The Changes charts, Charting–Adjustments, Plotting charts, Statistical transformation, Geometric object, Interpreting the Data–Interpreting the Data, Interpreting the Data–Interpreting the Data, Interpreting the Data–Interpreting the Data, The Second Simulation, The Second Simulation–The Second Simulation, The Third Simulation–The Third Simulation, The Third Simulation–The Third Simulation, The Final Simulation–The Final Simulation, The Final Simulation–The Final Simulation, Analyzing the Simulation–Analyzing the Simulation, Analyzing the Second Simulation–Analyzing the Second Simulation, Number of Messages by Day of the Month–Number of Messages by Hour of the Day, Generating the Heart Sounds Waveform–Generating the Heart Sounds Waveform, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate, Money–Money, Money–Money, Implementation bar charts, Plotting charts, Interpreting the Data–Interpreting the Data, The Second Simulation–The Second Simulation, The Third Simulation–The Third Simulation, The Final Simulation–The Final Simulation histograms, Statistical transformation, Geometric object, Money–Money line charts, Interpreting the Data–Interpreting the Data, Analyzing the Simulation–Analyzing the Simulation, Analyzing the Second Simulation–Analyzing the Second Simulation Lorenz curves, Money–Money scatterplots, Interpreting the Data–Interpreting the Data, The Second Simulation, The Third Simulation–The Third Simulation, The Final Simulation–The Final Simulation, Number of Messages by Day of the Month–Number of Messages by Hour of the Day, Implementation waveforms, Generating the Heart Sounds Waveform–Generating the Heart Sounds Waveform, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate class methods, Ruby, Class methods and variables class variables, Ruby, Class methods and variables–Class methods and variables classes, R, Programming R classes, Ruby, Classes and objects–Classes and objects code examples, Using Code Examples (see example applications) colon (:), Symbols, Vectors creating R vectors, Vectors preceding Ruby symbols, Symbols comma-separated value (CSV) files, Importing data from text files (see CSV files) Comprehensive R Archive Network (CRAN), Packages conditionals, R, Conditionals and Loops conditionals, Ruby, Conditionals and loops–case expression contact information for this book, How to Contact Us conventions used in this book, Conventions Used in This Book cor() function, R, The R Console Core library, Ruby, Requiring External Libraries corpus, Text Mining correlation, R, The R Console CRAN (Comprehensive R Archive Network), Packages CSV (comma-separated value) files, Importing data from text files, The First Simulation–The First Simulation, The First Simulation, Interpreting the Data, The Simulation, Extracting Data from Sound–Extracting Data from Sound, Extracting Data from Video extracting video data to, Extracting Data from Video extracting WAV data to, Extracting Data from Sound–Extracting Data from Sound reading data from, Interpreting the Data writing data to, The First Simulation–The First Simulation, The Simulation csv library, Ruby, The First Simulation, The Simulation, Grab and Parse curl utility, Ruby Version Manager (RVM) D data, Data, Data, Everywhere–Data, Data, Everywhere, Bringing the World to Us, Importing Data–Importing data from a database, Importing data from text files, The First Simulation–The First Simulation, Interpreting the Data, How to Be an Armchair Economist, The Simulation, Grab and Parse–Grab and Parse, The Emailing Habits of Enron Executives–The Emailing Habits of Enron Executives, Homemade Digital Stethoscope–Extracting Data from Sound, Extracting Data from Sound–Extracting Data from Sound, Homemade Pulse Oximeter–Extracting Data from Video, Extracting Data from Video analyzing, Data, Data, Everywhere–Data, Data, Everywhere, Bringing the World to Us, How to Be an Armchair Economist charts for, How to Be an Armchair Economist (see charts) obstacles to, Data, Data, Everywhere–Data, Data, Everywhere simulations for, Bringing the World to Us (see simulations) audio, from stethoscope, Homemade Digital Stethoscope–Extracting Data from Sound CSV files for, Importing data from text files, The First Simulation–The First Simulation, Interpreting the Data, The Simulation, Extracting Data from Sound–Extracting Data from Sound, Extracting Data from Video from Enron, The Emailing Habits of Enron Executives–The Emailing Habits of Enron Executives from Gmail, Grab and Parse–Grab and Parse importing, R, Importing Data–Importing data from a database video, from pulse oximeter, Homemade Pulse Oximeter–Extracting Data from Video data frames, R, Data frames–Data frames data mining, The Idea data.frame() function, R, Data frames database, importing data from, Importing data from a database–Importing data from a database dbConnect() function, R, Importing data from a database dbGet() function, R, Importing data from a database DBI packages, R, Importing data from a database–Importing data from a database Debian system, installing Ruby on, Installing Ruby using your platform’s package management tool def keyword, Ruby, Classes and objects dimnames() function, R, Matrices distribution, normal, Money dollar sign ($), preceding R list item names, Lists doodling example, Shoes doodler–Shoes doodler double quotes (" "), enclosing Ruby strings, Strings duck typing, Ruby, Code like a duck–Code like a duck dynamic typing, Ruby, Code like a duck–Code like a duck E economics example, A Simple Market Economy–A Simple Market Economy, The Producer–The Producer, The Consumer–The Consumer, Some Convenience Methods–Some Convenience Methods, The Simulation–The Simulation, Analyzing the Simulation–Analyzing the Simulation, The Producer–The Producer, The Consumer–The Consumer, Market–Market, The Simulation–The Simulation, Analyzing the Second Simulation–Analyzing the Second Simulation, Price Controls–Price Controls charts for, Analyzing the Simulation–Analyzing the Simulation, Analyzing the Second Simulation–Analyzing the Second Simulation Consumer class for, The Consumer–The Consumer, The Consumer–The Consumer Market class for, Some Convenience Methods–Some Convenience Methods, Market–Market modeling, A Simple Market Economy–A Simple Market Economy price controls analysis, Price Controls–Price Controls Producer class for, The Producer–The Producer, The Producer–The Producer simulations for, The Simulation–The Simulation, The Simulation–The Simulation email example, Grab and Parse–Grab and Parse, The Emailing Habits of Enron Executives–The Emailing Habits of Enron Executives, Number of Messages by Day of the Month–Number of Messages by Day of the Month, Number of Messages by Day of the Month–Number of Messages by Hour of the Day, MailMiner–MailMiner, Number of Messages by Day of Week–Number of Messages by Hour of the Day, Interactions–Comparative Interactions, Text Mining–Text Mining charts for, Number of Messages by Day of the Month–Number of Messages by Hour of the Day content of messages, analyzing, Text Mining–Text Mining data for, Grab and Parse–Grab and Parse Enron data for, The Emailing Habits of Enron Executives–The Emailing Habits of Enron Executives interactions in email, analyzing, Interactions–Comparative Interactions number of messages, analyzing, Number of Messages by Day of the Month–Number of Messages by Day of the Month, Number of Messages by Day of Week–Number of Messages by Hour of the Day R package for, creating, MailMiner–MailMiner emergent behavior, The Origin of Boids (see also flocking example) Enron Corporation scandal, The Emailing Habits of Enron Executives Epstein, Joshua (researcher), It’s a Good Life Growing Artificial Societies: Social Science from the Bottom Up (Brookings Institution Press/MIT Press), It’s a Good Life equal sign (=), assignment operator, R, Variables and Functions Euclidean distance, Roids evolution, Evolution example applications, Using Code Examples, Shoes stopwatch–Shoes stopwatch, Shoes doodler–Shoes doodler, The R Console–Sourcing Files and the Command Line, Data frames–Introducing ggplot2, qplot–qplot, Statistical transformation–Geometric object, Adjustments–Adjustments, Offices and Restrooms, A Simple Market Economy, Grab and Parse, My Beating Heart, Schooling Fish and Flocking Birds, Money artificial utopian society, Money (see Utopia example) birds flocking, Schooling Fish and Flocking Birds (see flocking example) doodling, Shoes doodler–Shoes doodler economics, A Simple Market Economy (see economics example) email, Grab and Parse (see email example) fuel economy, qplot–qplot, Adjustments–Adjustments heartbeat, My Beating Heart (see heartbeat example) height and weight, The R Console–Sourcing Files and the Command Line league table, Data frames–Introducing ggplot2 movie database, Statistical transformation–Geometric object permission to use, Using Code Examples restrooms, Offices and Restrooms (see restrooms example) stopwatch, Shoes stopwatch–Shoes stopwatch expressions, R, Programming R external libraries, Ruby, Requiring External Libraries–Requiring External Libraries F factor() function, R, Factors, Text Mining factors, R, Factors–Factors FFmpeg library, Extracting Data from Video, Extracting Data from Video field of vision (FOV), Roids fish, schools of, Schooling Fish and Flocking Birds (see flocking example) flocking example, Schooling Fish and Flocking Birds–The Origin of Boids, The Origin of Boids, Simulation–Simulation, Roids–Roids, The Boid Flocking Rules–Putting in Obstacles, The Boid Flocking Rules–The Boid Flocking Rules, A Variation on the Rules–A Variation on the Rules, Going Round and Round–Going Round and Round, Putting in Obstacles–Putting in Obstacles Boids algorithm for, Schooling Fish and Flocking Birds–The Origin of Boids centering path for, Going Round and Round–Going Round and Round obstacles in path for, Putting in Obstacles–Putting in Obstacles research regarding, A Variation on the Rules–A Variation on the Rules Roid class for, Roids–Roids rules for, The Origin of Boids, The Boid Flocking Rules–The Boid Flocking Rules simulations for, Simulation–Simulation, The Boid Flocking Rules–Putting in Obstacles flows, Shoes, Shoes stopwatch fonts used in this book, Conventions Used in This Book–Conventions Used in This Book for loop, R, Conditionals and Loops format() function, R, Number of Messages by Day of the Month FOV (field of vision), Roids fuel economy example, qplot–qplot, Adjustments–Adjustments function class, R, Programming R functions, R, Variables and Functions–Variables and Functions G GAM (generalized addictive model), The Changes gem command, Ruby, Requiring External Libraries .gem file extension, Requiring External Libraries generalized addictive model (GAM), The Changes Gentleman, Robert (creator of R), Introducing R geom_bar() function, R, Interpreting the Data, The Second Simulation, The Final Simulation geom_histogram() function, R, Geometric object geom_line() function, R, Analyzing the Simulation geom_point() function, R, Plot, Interpreting the Data, Generating the Heart Sounds Waveform geom_smooth() function, R, Interpreting the Data ggplot() function, R, Plot ggplot2 package, R, Introducing ggplot2–Adjustments Gini coefficient, Money Git utility, Ruby Version Manager (RVM) Gmail, retrieving message data from, Grab and Parse–Grab and Parse graphics device, opening, Basic Graphs graphics package, R, Basic Graphs graphs, Charting (see charts) Growing Artificial Societies: Social Science from the Bottom Up (Brookings Institution Press/MIT Press), It’s a Good Life H hash mark, curly brackets (#{ }), enclosing Ruby string escape sequences, Strings hashes, Ruby, Arrays and hashes–Arrays and hashes heart, diagram of, Generating the Heart Sounds Waveform heartbeat example, My Beating Heart, My Beating Heart, My Beating Heart, Homemade Digital Stethoscope, Homemade Digital Stethoscope, Homemade Digital Stethoscope–Extracting Data from Sound, Generating the Heart Sounds Waveform–Generating the Heart Sounds Waveform, Generating the Heart Sounds Waveform, Finding the Heart Rate–Finding the Heart Rate, Homemade Pulse Oximeter–Homemade Pulse Oximeter, Homemade Pulse Oximeter–Extracting Data from Video, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate charts for, Generating the Heart Sounds Waveform–Generating the Heart Sounds Waveform, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate data for, Homemade Digital Stethoscope–Extracting Data from Sound, Homemade Pulse Oximeter–Extracting Data from Video audio from stethoscope, Homemade Digital Stethoscope–Extracting Data from Sound video from pulse oximeter, Homemade Pulse Oximeter–Extracting Data from Video heart rate, My Beating Heart, Finding the Heart Rate–Finding the Heart Rate, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate finding from video file, Generating the Heartbeat Waveform and Calculating the Heart Rate–Generating the Heartbeat Waveform and Calculating the Heart Rate finding from WAV file, Finding the Heart Rate–Finding the Heart Rate health parameters for, My Beating Heart heart sounds, My Beating Heart, My Beating Heart, Homemade Digital Stethoscope, Generating the Heart Sounds Waveform health parameters for, My Beating Heart recording, Homemade Digital Stethoscope types of, My Beating Heart, Generating the Heart Sounds Waveform homemade pulse oximeter for, Homemade Pulse Oximeter–Homemade Pulse Oximeter homemade stethoscope for, Homemade Digital Stethoscope height and weight example, The R Console–Sourcing Files and the Command Line here-documents, Ruby, Strings hex editor, Extracting Data from Sound histograms, Statistical transformation, Geometric object, Money–Money Homebrew tool, Installing Ruby using your platform’s package management tool hyphen (-), Variables and Functions, Variables and Functions -> assignment operator, R, Variables and Functions <- assignment operator, R, Variables and Functions I icons used in this book, Conventions Used in This Book if expression, R, Conditionals and Loops if expression, Ruby, if and unless–if and unless Ihaka, Ross (creator of R), Introducing R ImageMagick library, Extracting Data from Video IMAP (Internet Message Access Protocol), Grab and Parse importing data, R, Importing Data–Importing data from a database inheritance, Ruby, Inheritance–Inheritance initialize method, Ruby, Classes and objects inner product, Roids–Roids installation, Installing Ruby–Installing Ruby using your platform’s package management tool, Installing Shoes–Installing Shoes, Introducing R, Installing packages–Installing packages R, Introducing R R packages, Installing packages–Installing packages Ruby, Installing Ruby–Installing Ruby using your platform’s package management tool Shoes, Installing Shoes–Installing Shoes Internet Message Access Protocol (IMAP), Grab and Parse Internet Message Format, The Emailing Habits of Enron Executives invisible hand metaphor, The Invisible Hand irb application, Running Ruby–Running Ruby J jittering, Adjustments jpeg() function, R, Basic Graphs L Landsburg, Stephen E.


pages: 398 words: 31,161

Gnuplot in Action: Understanding Data With Graphs by Philipp Janert

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

bioinformatics, business intelligence, centre right, Debian, general-purpose programming language, iterative process, mandelbrot fractal, pattern recognition, random walk, Richard Stallman, six sigma

A.2.1 Linux Usually, the easiest way to install new software on a Linux box is to use the standard administration tool that comes with your local Linux distribution. On RPM-based distributions, you can also download an RPM file explicitly and then install it (as root) using rpm -i gnuplot-XXX.rpm where you should replace gnuplot-XXX.rpm with the exact name of your downloaded package file. On Debian-based systems, you can simply execute apt-get install gnuplot but be warned that gnuplot for Debian-based systems is usually built without the GNU readline library (due to strict interpretations of the differences in the GNU and the gnuplot licenses), so that you might want to build gnuplot from source instead. A.2.2 Mac OS X At the time of this writing, a version of gnuplot packaged as DMG (or Mac Installer) file is not generally available.

Evidence, be it graphical or otherwise, is just that: mere data. But actual insight arises only through the correct interpretation of those facts. appendix A: Obtaining, building, and installing gnuplot The easiest way to install gnuplot on your local computer is to download and install a precompiled package. If you’re running Linux, there’s a good chance gnuplot is already installed; if not, you’ll have no difficulty finding an RPM or Debian package on the net. There are Fink packages for Mac OS X, and precompiled binaries for Windows as well. In section A.2 we consider some of these options in more detail. If you’d like to be totally up to date and have access to the newest features, or if you want to start hacking on gnuplot yourself, you’ll have to build from source. Section A.3 in this appendix is will help you get started. A.1 Release and development versions Gnuplot versions are generally labeled by a three-part version number, indicating major, minor, and bug-fix releases.


pages: 138 words: 27,404

OpenCV Computer Vision With Python by Joseph Howse

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

augmented reality, computer vision, Debian, optical character recognition, pattern recognition

After the installation script terminates, <script_folder>/opencv may safely be deleted; although, first, you might want to look at OpenCV's Python samples in <script_folder>/opencv/samples/python and <script_folder>/opencv/samples/python2. Making the choice on other Unix-like systems The approaches for Ubuntu (as described previously) are likely to work on any Linux distribution derived from Ubuntu 12.04 LTS or Ubuntu 12.10, such as: Kubuntu 12.04 LTS or Kubuntu 12.10 Xubuntu 12.04 LTS or Xubuntu 12.10 Linux Mint 13 or Linux Mint 14 On Debian Linux and its derivatives, the Apt package manager works the same as on Ubuntu, though the available packages may differ. On Gentoo Linux and its derivatives, the Portage package manager is similar to MacPorts (as described previously), though the available packages may differ. On other Unix-like systems, the package manager and available packages may differ. Consult your package manager's documentation and search for any packages with opencv in their names.


pages: 731 words: 134,263

Talk Is Cheap: Switching to Internet Telephones by James E. Gaskin

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, packet switching, Silicon Valley, Skype, speech recognition, telemarketer

You also need sound support (they say a sound card, but many systems now build the sound support into the motherboard), speakers, and a microphone. I strongly recommend you skip the speakers and microphone and get either a headset or a phone that plugs into your computer and supports Skype software. Operating systems supported include: Windows 2000 and XP (Home and Pro) Macintosh OS X SuSE 9 and newer Mandrake 10.1 and newer Fedora Core 3 (Red Hat) Xandros, MEPIS, Ubuntu, and other Debian-based operating systems If you're running a version of Linux that doesn't meet the requirements, you can try running the binary releases: Dynamic binary as a bzipped tar file Static binary bzipped tar file with Qt 3.2 installed (they also have a version for download with Qt 3.2 compiled in) Skype recently made a bundling deal with Xandros to include Skype in their low-cost hardware and software systems.

You also need sound support (they say a sound card, but many systems now build the sound support into the motherboard), speakers, and a microphone. I strongly recommend you skip the speakers and microphone and get either a headset or a phone that plugs into your computer and supports Skype software. Operating systems supported include: Windows 2000 and XP (Home and Pro) Macintosh OS X SuSE 9 and newer Mandrake 10.1 and newer Fedora Core 3 (Red Hat) Xandros, MEPIS, Ubuntu, and other Debian-based operating systems If you're running a version of Linux that doesn't meet the requirements, you can try running the binary releases: Dynamic binary as a bzipped tar file Static binary bzipped tar file with Qt 3.2 installed (they also have a version for download with Qt 3.2 compiled in) Skype recently made a bundling deal with Xandros to include Skype in their low-cost hardware and software systems.

Programming Android by Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

anti-pattern, business process, conceptual framework, create, read, update, delete, database schema, Debian, domain-specific language, en.wikipedia.org, fault tolerance, Google Earth, interchangeable parts, iterative process, loose coupling, MVC pattern, revision control, RFID, web application

It should display the version number corresponding to the version of the JDK you installed. If you installed revision 20 of the Java 6 JDK, the command would display: javac 1.6.0_20 Depending on the current version of the JDK available when you read this, version numbers may differ from what you see here. Note If it is unclear which JRE you are running, or if you think you have the wrong JRE running on a Debian-derived Linux system, such as Ubuntu, you can use the following command to display the available JREs and select the right one: sudo update-alternatives --config java The Eclipse Integrated Development Environment (IDE) Eclipse is a general-purpose technology platform. It has been applied to a variety of uses in creating IDEs for multiple languages and in creating customized IDEs for many specialized SDKs, as well as to uses outside of software development tools, such as providing a Rich Client Platform (RCP) for Lotus Notes and a few other applications.

To successfully complete an installation as it is described here, you must install Eclipse in a folder managed by one user, and launch it from this location. If you are using Ubuntu or another Linux distribution, you should not install Eclipse from your distribution’s repositories, and if it is currently installed this way, you must remove it and install Eclipse as described here. The presence of an “eclipse” package in the Ubuntu repositories is an inheritance from the Debian repositories on which Ubuntu is based. It is not a widely used approach to installing and using Eclipse, because most of the time, your distribution’s repositories will have older versions of Eclipse. To confirm that Eclipse is correctly installed and that you have a JRE that supports Eclipse, launch the executable file in the Eclipse folder. You may want to make a shortcut to this executable file to launch Eclipse more conveniently.


pages: 555 words: 119,733

Autotools by John Calcote

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Albert Einstein, card file, Debian, delayed gratification, en.wikipedia.org, place-making, Richard Feynman, Richard Feynman, Valgrind

Finally, I added references to src/Makefile and util/Makefile at ❽ to the AC_CONFIG_FILES macro call, and then I added my usual echo statement at ❾ near the bottom for some visual verification of my configuration status. The FLAIM Toolkit Makefile.am File Ignoring the commands for Doxygen- and RPM-specific targets (for now), the ftk/Makefile.am file is fairly trivial. Example 8-10 shows the entire file. Example 8-10. ftk/Makefile.am: The entire contents of the FLAIM toolkit's top-level makefile ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = GNUMakefile README.W32 debian netware win32 ❶ if HAVE_DOXYGEN DOXYDIR = docs Endif SUBDIRS = src util obs $(DOXYDIR) ❷ doc_DATA = AUTHORS ChangeLog COPYING INSTALL NEWS README RPM = rpm ❸ rpms srcrpm: dist (cd obs && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1 rpmarch=`$(RPM) --showrc | \ grep "^build arch" | sed 's/\(.*: \)\(.*\)/\2/'`; \ test -z "obs/$$rpmarch" || \ ( mv obs/$$rpmarch/* . && rm -rf obs/$$rpmarch ) rm -rf obs/$(distdir) ❹ dist-hook: rm -rf `find $(distdir) -name .svn` .PHONY: srcrpm rpms In this file you'll find the usual ACLOCAL_AMFLAGS, EXTRA_DIST, and SUBDIRS variable definitions, but you can also see the use of an Automake conditional at ❶.

The following standard Automake targets support -hook versions: install-data install-exec uninstall dist distcheck Automake automatically adds all existing -local and -hook targets to the .PHONY rule within the generated makefile. I use the dist-hook target at ❹ in Makefile.am to adjust the distribution directory after it's built but before make builds a tarball from its contents. The rm command removes extraneous files and directories that become part of the distribution directory as a result of my adding entire directories to the EXTRA_DIST variable. When you add directory names to EXTRA_DIST (debian, netware, and win32, in this case), everything in those directories is added to the distribution—even hidden Subversion control files and directories. Example 8-11 is a portion of the generated Makefile that shows how Automake incorporates dist-hook into the final makefile. The relevant portions are bolded. Example 8-11. ftk/Makefile: The results of defining the dist-hook target in ftk/Makefile.am ... distdir: $(DISTFILES) ... # copy files into distdir $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" \ distdir="$(distdir)" dist-hook ... # change attributes of files in distdir ... dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c \ >$(distdir).tar.gz $(am__remove_distdir) ... .PHONY: ... dist-hook ... ... dist-hook: rm -rf `find $(distdir) -name .svn` ...

Pragmatic.Programming.Erlang.Jul.2007 by Unknown

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, en.wikipedia.org, fault tolerance, finite state, full text search, RFC: Request For Comment, sorting algorithm

Or give the command q() in the shell. 21 I NSTALLING E RLANG Windows You’ll find a list of the releases at http://www.erlang.org/download.html. Choose the entry for the latest version, and click the link for the Windows binary—this points to a Windows executable. Click the link, and follow the instructions. This is a standard Windows install, so you shouldn’t have any problems. Linux Binary packages exist for Debian-based systems. On a Debian-based system, issue the following command: > apt-get install erlang Installing on Mac OS X As a Mac user, you can install a prebuilt version of Erlang using the MacPorts system, or you can build Erlang from source. Using MacPorts is marginally easier, and it will handle updates over time. However, MacPorts can also be somewhat behind the times when it comes to Erlang releases. During the initial writing up this book, for example, the MacPorts version of Erlang was two releases behind the then current version.


pages: 404 words: 43,442

The Art of R Programming by Norman Matloff

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, discrete time, general-purpose programming language, linked data, sorting algorithm, statistical model

Interfacing R to Other Languages 325 15.1.4 Debugging R/C Code Chapter 13 discussed a number of tools and methods for debugging R code. However, the R/C interface presents an extra challenge. The problem in using a debugging tool such as GDB here is that you must first apply it to R itself. The following is a walk-through of the R/C debugging steps using GDB on our previous sd.c code as the example. $ R -d gdb GNU gdb 6.8-debian ... (gdb) run Starting program: /usr/lib/R/bin/exec/R ... > dyn.load("sd.so") > # hit ctrl-c here Program received signal SIGINT, Interrupt. 0xb7ffa430 in __kernel_vsyscall () (gdb) b subdiag Breakpoint 1 at 0xb77683f3: file sd.c, line 3. (gdb) continue Continuing. Breakpoint 1, subdiag (m=0x92b9480, n=0x9482328, k=0x9482348, result=0x9817148) at sd.c:3 3 int nval = *n, kval = *k; (gdb) So, what happened in this debugging session?

You should be able to simply download the appropriate file and install R. A.2 Installing from a Linux Package Manager Rather than using the precompiled binaries, if you’re running a Linux distribution with a centralized package repository, such as Fedora or Ubuntu, you can install R using your OS’s package manager. For example, if you’re running Fedora, you can install R by typing the following at the command line: $ yum install R For a Debian-based system, such as Ubuntu, the command looks like this: $ sudo apt-get install r-base Check your distribution’s documentation for more details on installing and removing packages. A.3 Installing from Source On Linux or other UNIX-based machines (probably including Mac OS X), you can also compile R’s source code yourself. Simply unpack the source archive and follow the classic three-command installation procedure: $ configure $ make $ make install Note that you may need to run make install as root, depending on your write permissions and the location to which you’re installing R.


pages: 752 words: 131,533

Python for Data Analysis by Wes McKinney

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

backtesting, cognitive dissonance, crowdsourcing, Debian, Firefox, Google Chrome, index card, random walk, recommendation engine, revision control, sentiment analysis, Sharpe ratio, side project, sorting algorithm, statistical model, type inference

In [1]: import pandas In [2]: plot(arange(10)) If this succeeds, a plot window with a straight line should pop up. GNU/Linux Note Some, but not all, Linux distributions include sufficiently up-to-date versions of all the required Python packages and can be installed using the built-in package management tool like apt. I detail setup using EPDFree as it's easily reproducible across distributions. Linux details will vary a bit depending on your Linux flavor, but here I give details for Debian-based GNU/Linux systems like Ubuntu and Mint. Setup is similar to OS X with the exception of how EPDFree is installed. The installer is a shell script that must be executed in the terminal. Depending on whether you have a 32-bit or 64-bit system, you will either need to install the x86 (32-bit) or x86_64 (64-bit) installer. You will then have a file named something similar to epd_free-7.3-1-rh5-x86_64.sh.

If you are using the bash shell (the default in Ubuntu, for example), this means adding the following path addition in your .bashrc: export PATH=/home/wesm/epd/bin:$PATH Obviously, substitute the installation directory you used for /home/wesm/epd/. After doing this you can either start a new terminal process or execute your .bashrc again with source ~/.bashrc. You need a C compiler such as gcc to move forward; many Linux distributions include gcc, but others may not. On Debian systems, you can install gcc by executing: sudo apt-get install gcc If you type gcc on the command line it should say something like: $ gcc gcc: no input files Now, time to install pandas: $ easy_install pandas If you installed EPDFree as root, you may need to add sudo to the command and enter the sudo or root password. To verify things are working, perform the same checks as in the OS X section.


pages: 352 words: 64,282

MongoDB: The Definitive Guide by Kristina Chodorow, Michael Dirolf

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

create, read, update, delete, Debian, pattern recognition, web application

$ tar zxf mongodb-linux-i686-1.6.0.tar.gz $ cd mongodb-linux-i686-1.6.0 Now you can start the database: $ bin/mongod Or if you’d like to use an alternate database path, specify it with the --dbpath option: $ bin/mongod --dbpath ~/db See Chapter 8 for a summary of the most common options, or run mongod with --help to see all the possible options. Installing from a Package Manager On these systems, there are many package managers that can also be used to install MongoDB. If you prefer using one of these, there are official packages for Debian and Ubuntu and unofficial ones for Red Hat, Gentoo, and FreeBSD. If you use an unofficial version, make sure to check the logs when you start the database; sometimes these packages are not built with UTF-8 support. On Mac, there are also unofficial packages in Homebrew and MacPorts. If you go for the MacPorts version, be forewarned: it takes hours to compile all the Boost libraries, which are MongoDB prerequisites.

Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems by Chris Sanders

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, pirate software, RFC: Request For Comment

RPM-based Systems To install Wireshark on RPM-based distributions, such as Red Hat, do the following: Download the appropriate installation package from the Wireshark web page. Open a console window and type rpm -ivh wireshark-0.99.3.i386.rpm, substituting the filename of your downloaded package as appropriate. If any dependencies are missing, install them and repeat the previous step. DEB-based Systems To install Wireshark on a DEB-based distribution such as Debian or Ubuntu, do the following: Download the appropriate installation package from the Wireshark web page. Open a console window and type apt-get install wireshark. Wireshark Fundamentals Once you've successfully installed Wireshark on your system, you can begin to familiarize yourself with it. Now you finally get to open your fully functioning packet sniffer and see . . . absolutely nothing!


pages: 190 words: 52,865

Full Stack Web Development With Backbone.js by Patrick Mulder

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Airbnb, create, read, update, delete, Debian, MVC pattern, node package manager, side project, single page application, web application

Starting with Mac OS, an easy approach to install Node.js is by using Homebrew. Homebrew is a package manager for Mac OS (see http://brew.sh/ for basic installation instructions). Once Homebrew is installed, you can run the following: $ brew upgrade $ brew install node Alternatively, you can visit the download page. Here, you also find the Node versions for Windows and source code packages. If you are running an Ubuntu or Debian flavor of Linux, you can install Node.js with: sudo apt-get install build-essential libssl-dev curl git-core sudo apt-get install nodejs If you need to run different versions of Node.js (e.g., if you are dealing with constraints in production), you might want to have a look at NVM. With NVM, you can easily switch between versions of Node.js. 157 Getting Functional with Underscore.js Because JavaScript in its old standard didn’t have helpers for dealing with enumerators, Underscore.js was born.


pages: 220 words: 73,451

Democratizing innovation by Eric von Hippel

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

additive manufacturing, correlation coefficient, Debian, hacker house, informal economy, inventory management, iterative process, James Watt: steam engine, knowledge economy, meta analysis, meta-analysis, Network effects, placebo effect, principal–agent problem, Richard Stallman, software patent, transaction costs, Vickrey auction

Democratization of the opportunity to create is important beyond giving more users the ability to make exactly right products for themselves. As we saw in a previous chapter, the joy and the learning associated with creativity and membership in creative communities are also important, and these experiences too are made more widely available as innovation is democra- 124 Chapter 9 tized. The aforementioned Chris Hanson, a Principal Research Scientist at MIT and a maintainer in the Debian Linux community, speaks eloquently of this in his description of the joy and value he finds from his participation in an open source software community: Creation is unbelievably addictive. And programming, at least for skilled programmers, is highly creative. So good programmers are compelled to program to feed the addiction. (Just ask my wife!) Creative programming takes time, and careful attention to the details.


pages: 270 words: 75,473

Time Management for System Administrators by Thomas A.Limoncelli

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

8-hour work day, Albert Einstein, Debian, job satisfaction, Mahatma Gandhi, Steve Jobs

Search on Google for "software alarm clock," and you'll find many, ranging from free to medium priced. Applications like Mac iCal, Windows Outlook, and open source tools like Evolution and KOrganizer can alert you when an appointment grows near (this is useful if you are always near the machine running said software). Set some kind of alarm for your next appointment, either on your watch or cell phone. Users of Unix systems such as Mac OS X, BSD, Debian Linux, and HP Tru64 Unix have the "leave" command to alert them when to leave for an appointment. Program a server to send a reminder to your cell phone or pager at the appropriate time. Unix/Linux users will find it useful to enable the "at" service and use it to send email to your cell phone at a certain time: $ at 11:50 > echo Meet Bob for lunch | mail 19085552323@teleflip.com > ^D Remember, when setting an alarm, always set it to give yourself enough time to get to the appointment, whether that is two minutes to walk down the hall or two hours to drive to another location.


pages: 236 words: 67,823

Hacking Vim 7.2 by Kim Schulz

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Alexey Pajitnov wrote Tetris, Debian, revision control, sorting algorithm

On computers running Microsoft Windows, you simply run the downloaded .exe file and it will then take you through the installation. After installation, a shortcut to gVim will be available in the start menu. On computers running Linux, the installation depends on the Linux distribution you are using. Chances are that you already have Vim installed as it comes pre-installed on most distributions today. If it is not already installed, then refer to the distributions package manager (for example Aptitude in debian, urpmi in Mandriva, and Synaptics in Ubuntu) to see how to install Vim. If no package manager is available, you can always install Vim from the source you downloaded using the previously mentioned link. See the readme file for information on the exact commands to use in order to install it. vi, Vim, and friends Vim is just one of many derivatives of the original vi that Bill Joy released back in 1976.


pages: 632 words: 223,899

Exim: The Mail Transfer Agent by Philip Hazel

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, RFC: Request For Comment, x509 certificate

Locking by lock file does not last forever; Exim assumes that a lock file is expired if it is more than 30 minutes old. The -mbx option is mutually exclusive with -fcntl. 9 October 2001 09:12 22 Building and Installing Exim So far, we have talked only about how to use Exim, assuming that it is already installed on your system. We have not yet covered how to get it there. There are three possibilities: • Some operating systems (for example, Debian GNU/Linux) are now distributed with Exim already installed. If yours is one of these, you do not need to do anything, unless you want to use some of the optional code that is not included in your binary or you want to upgrade to a later release. If you do, you will have to fetch the source and compile it yourself. • Some operating systems (for example, FreeBSD) have a standardized ‘‘ports’’ mechanism, with a simple command that fetches the Exim source, compiles it with a particular set of options, and installs it for you.

x) option, 551, 562 in headers, 12 if command and, 247, 257 as metacharacters, 550, 558 % (percent sign) in local parts, 328 + (plus sign) +allow_unknown/+warn_unknown settings, 429 with ident prefix, 431 with filenames, 105 as metacharacter, 550 ; (semicolon) in retry rules, 292 in routing rules, 168 / (forward slash), 124 /accept option, rbl_domains option, 313 in lists, 422 in maildir files, 215 /reject option, rbl_domains option, 311 /skiprelay option, rbl_domains option, 313 /warn option, rbl_domains option, 311 _ (underscore) in domain names, 310 in keywords, 254 574 " (double quote) data values and, 247 ldap_default_servers option and, 385 in lists, 122 of hosts, 163 in named field extractions, 410 in options, 57 in pipe commands, 124, 252 in query-style lookups, 383 quoting and, 414 in regular expressions, 258, 548 in rewriting rules, 344 in string expansions, 393 ' (single quote) in hosts lists, 163 in pipe commands, 124 Numbers $0 variable, 163, 538 $1, $2, etc. variables, 159, 335, 538 authentication and, 364 8BITMIME extension (SMTP), 446 12tocdbm command, 381 A A record type, DNS lookups, 388 A6 record type, 22, 26 DNS lookups, 388 AAAA record type, 22 DNS lookups, 388 /accept option, rbl_domains option, 313 accept_8bitmime option, 446 accept_timeout option, overriding, 462 add command, 249 counters incremented by, 542 addresses, 37, 304 adding/removing while transporting, 115 batched messages and, 202 canonicizing, 448 child/parent, 39, 543 deferred delivery of, pass_on_timeout option and, 151 domain-literal, 447 drivers and, 35 duplicate, 46, 122 filtering and, 241 error (see error address, changing) expansion variables derived from, 196 forcing to fail, 107 generating new, 147 smartuser director and, 149 handling, 475 9 October 2001 09:13 Index incoming, including in .forward file, 123 incomplete, qualify_domain option and, 35 IP domain literal, 150, 169 lists of, 432-434 configuration file and, 60 testing, 261 local, 19 processing, 38 restricting queue runners to, 466 lookups, options for specifying, 160 missing data in, 46 multiple, 12 multiple-user, 87 named director vs. first director, 121 nonlocal, 19 preventing passing of, 102 processing, 35, 38 options for, 468 quoting characters in, 414 recipient checking, 322-325 local senders, 306 options for, 325 rejecting explicitly, 324 sources of, 306 specifying, 304 testing verification, 324 verifying, 323 rejecting, reasons for, 17 remote, 38 becoming local, 47 routing to local host, 48 two-pass processing for, 466 remote sender, 314-322 bad envelopes, fixing, 318 failures, permanent, 317 failures, temporary, 316 headers, checking, 319 options for, 321 rejecting explicitly, 320 SMTP, 314 verification, testing, 319 rewriting, 149, 177, 339-354 automatically, 339 Bcc:/Cc: headers, 347 conditionally, 344 configured, 340-343 envelope fields, 347 From: header, 348 general, 341 headers, 348 lookup-driven, 345 Index addresses, rewriting (continued) per-transport, 342 Reply-To: header, 348 rules for, 343-345, 347-351 Sender: header, 348 To: header, 348 as unqualified local part, 348 rewriting generated, 128 sender options for, 462 $sender_address variable and, 545 smartuser director and, 118 source-routed, 448 splitting, 410 syntax of, 446-448 angle brackets in, 447 built-in extensions, 446 errors, 133 period in, 447 timeouts of, 297 types of, 18 unqualified, 128, 132, 149, 304 domains, adding to, 339 new_address option and, 147 from remote hosts, 307 validity of, 20 verifying, 103, 114, 117 by directors/routers, 316 virtual domains and, 74 $address_file variable, 538 address_file_transport option, 242 $address_pipe variable, 538 address_pipe_transport option, 242 admin group, 195 admin users (see system administrators) admin_groups option, 444 administering, 436, 482-515 address rewriting (see rewriting addresses) MTAs, 29 queue inspection, 470 system filters, 238 (see also system administrators) alias files local parts without domains in, 76 maintaining, 511 names of, specifying, 137 owners of, specifying, 132 single-key lookups and, 389 alias lists databases for storing, 133 duplicate addresses and, 122 expanding, 135 syntax errors in, 129 9 October 2001 09:13 575 aliases, 15 defaulting unknown to postmasters, 135 forwarding and, 123 system drivers and, 36 aliasfile director, 36, 118, 121-138 address_pipe_transport option and, 111 expand option and, 125 lookups and, 134, 378 multiple, 134 NFS-mounted mailing lists and, 80 options for, 126-133 pipes and, 111 transports and, 135 special-purpose, 49 aliasing, 118, 222 DNS records and, 25 domains multiple, 73 virtual, 74 expansion variables and, 538 headers_add/headers_remove options and, 109 host-checking and, 430 ignoring local parts in local deliveries, 91 nonaddress items and, 124-126 one-time, 129 to pipes, 111 for postmasters, 29 single-level, 120 by smartuser director, 77 (see also aliasfile director; pipe transport) all value (batch option), 200, 202 allow_commands option, 227, 229 restrict_to_path option and, 230 allow_fifo option, 206, 218 allow_localhost option, 191 allow_mx_to_ip option, 449 allow_symlink option, 206, 218 allow_system_actions option, 142-143 +allow_unknown/+warn_unknown settings, 429 with ident prefix, 431 ancestor checking, 127, 131 and operator, 405, 537 angle brackets (<>) (see <> (angle brackets)) ANSI/ISO C compiler, 517 anywhere value (create_file option), 206 appendfile transport, 36, 173 append_string/check_string options and, 198 comsat, notifying, 218 576 appendfile transport (continued) deliveries batched, 199-202 controlling environment for, 197 to separate files, 213-214 to separate files, maildir format, 220 files format of, checking, 209 locking, 209-213 modes of, 207 multimessage, setting up, 204 nonexistent, creating, 206 owners of, checking, 207, 218 $home variable and, 196 locking function, 210 mailboxes in home directories, 204 locking, 68 MBX, 212, 220, 222 non-MBX, locking, 211 symbolic links for, 206, 218 messages appended, format of, 207 line termination in, 199 in single file, separating, 197 named pipes, delivering to, 206, 218 operating modes, 203 options for, 196-222 prefix/suffix options and, 197 quotas exclusive/inclusive, 217 mailbox, 215 warnings, 217 append_string option, MMDF format and, 198 arguments, writing to main log, 486 asterisk (*) (see * (asterisk)) attachments, 12 viruses in, 21 scanning for, 94-99 AUTH command (SMTP), 188, 356 authenticated senders and, 362 PLAIN authentication and, 357 plaintext authenticator and, 365 auth_always_advertise option, 361 $authenticated_id variable, 364, 538 $authenticated_sender variable, 538 authenticate_hosts option, 188, 192, 363 authenticating, 6, 18, 355-367 expansion variables and, 538 forged email and, 18 mechanisms for, 357-360 CRAM-MD5, 358 LOGIN, 357 9 October 2001 09:13 Index PLAIN, 357 MTAs and, 9 options for, 363 with PAM, 402 $sender_host_authenticated variable, 545 string expansions and, 536 (see also Exim, authenticators) authenticator setting (-bP option), 474 authenticator_list setting (-bP option), 474 authenticators, 360-367 client-based, 363 server-based, 360 auth_hosts option, server authentication, 361 automatic reply messages, 145, 232, 240 disabling use of, 253 logging, 235-236 once-only, 235-236 parameters of, 233 user filters and, 259 (see also autoreply transport) autoreply transport, 36, 173 mailing lists, nonexistent, 234 messages once-only, 235-236 parameters of, 233 sent, logging, 235-236 options for, 232-237 pipe transport and, 233 auto_thaw option, 281 B b flag (rewriting rules), 347 backlists, 21 backslash (\) (see \ (backslash)) backups, MX, automatic relaying for, 329 batch option, 183, 202, 232 batch_max option and, 202 variables, 199 Batch SMTP (see BSMTP) batch_max option, 192, 200, 202, 232 hosts serialization and, 186 SMTP over TCP/IP, 373 bcc (blind carbon copy), 14 bcc option, 234-235 Bcc: header, 305 processing messages with, 336 rewriting, 347 -bd option, 273, 283, 459, 462 -q option with time value and, 467 -be option, expansion string testing and, 418 Index begins test, 258 belowhome value (create_file option), 196, 206 Berkeley DB library Version 2 or 3, 381 Berkeley mailbox format, 197 -bf option filter files, 244, 262 -oM options and, 464 -bF option -oM options and, 464 system filters, testing, 246 -bfd option, changing recipient domain, 245 -bfl option, changing recipient local part, 245 -bfp option, specifying local part prefix, 245 -bfs option, specifying local part suffix, 245 -bh option, 476, 529 -oM options and, 464 server authentication, testing, 361 :blackhole:, 125 forbid_special option and, 137 new_address option and, 147 blacklist (see DNS blocking lists) blind carbon copy (bcc), 14 -bm option, 462 message reception and, 460 $body_linecount variable, 538 body_only option, 174, 182 bounce messages, 282, 473 automatic messages and, 253 changing addresses for, 110 copies of, taking, 452 customizing, 454 delay warnings, 453 envelope senders, empty, 463 fail command and, 263 handling, 451-455 alerting postmaster, 453 replying to, 452 prefix/suffix options and, 197 reception of, logging, 490 replying to, 452 return_path option and, 177 senders, verifying, 315 size of, controlling, 303 SMTP errors and, 286 -bP option, 59, 387, 474 security and, 385 -bp option, 53, 470, 480 exiqsumm utility, 501 user privilege and, 443 -bpr option, 471 9 October 2001 09:13 577 -bpu option, 470 -brt option, 477 -brw option, 354, 478 -bS option, 283, 377, 462, 480 message reception and, 305, 460 -bs option, 283, 462 local SMTP, 376 message reception and, 305, 460 BSD-based systems configuring Exim on, 34 timestamps, 450 $tod_bsdinbox variable, 547 BSMTP (Batch SMTP), 96, 199-202, 377, 480 address verification, 316 check_string/escape_string options and, 199 HELO command and, 201-202 message reception and, 305 options for, 460 pipe transport and, 226 reception process, 283 use_crlf option and, 199 bsmtp option, 183, 201-202 batch_max option and, 202 bsmtp value (transport option), 164 bsmtp_helo option, 202 -bt option, 475 -d option and, 478 verify_only option and, 117 building Exim, 518-526 for multiple systems, 525 build-time options, 34 -bV option, 527 -bv option, 324, 475 -bvs option and, 319, 324 verify_only option and, 117 -bvs option, 319, 475 bydns/bydns_a/bydns_mx options, 160 byname option, 160 C c flag (rewriting rules), 347 -C option, 469 log_arguments option and, 487 caching in DNS, 23 in lookups, 391 $caller_gid variable, 538 $caller_uid variable, 539 canonical name records (see CNAME records) carriage return, 11 578 carriage return (continued) dropping characters, 462 carriage return/linefeed (see CRLF) case sensitivity in address list matching, 434 in alias files, 133 case of letters, forcing, 398 in domain names, 22 in filter commands, 258 in filter files, 246 header insertions in string expansions, 394 in local parts of message headers, 93 in macros, 58 in postmaster addresses, 29 cc option, 234, 236 Cc: header processing messages with, 336 rewriting, 347 cdb format, 75 lookups and, 381 cdb value (search_type option), 134 cdbmake command, 381 character translation in string expansions, 398 characters 8-bit, 445 nonprinting, 551 check_ancestor option, 127, 131 check_group option, 140, 144, 218 file ownership and, 207 check_local_user option, 144 $home variable and, 142 match_directory and, 145 check_log_inodes option, 450 check_log_space option, 450 check_owner option, 218 check_secondary_mx option, 155, 157 gethostbyname option and, 156 check_spool_inodes option, 450 check_spool_space option, 65, 450 check_string/escape_string options, 198, 202 bsmpt option and, 201 maildir_format and, 215 mbx_format option and, 208 MMDF format and, 198 circumflex (ˆ) (see ˆ (circumflex)) client_name option, 367 clients authenticators in cram_md5, 367 plaintext, 366 connecting to servers, 16 9 October 2001 09:13 Index Exim, authentication on, 363 TLS configuring Exim to use, 371 forcing use of, 370 relaying, 370 client_secret option, 367 client_send_string option, 366 CNAME records, 27 DNS lookups, 388 colon (:) (see : (colon)) comma (,) (see , (comma)) command line, parsing, 224 command option, 169, 172, 223, 229, 232 command_group/command_user options, 170, 172 command-line interface, 458-481 command-line options for BSMTP reception, 460 for configuration overrides, 469 daemon process, starting, 459 for debugging, 478 for delivery control, immediate, 464 for error routing, 465 for hosts, remote, 463 for input mode control, 459-462 for message control, 471-473 for non-SMTP reception, 460 for queue inspection, 470 for queue runner processes, 466-469 for sender addresses, 462 for sender names, 463 for Sendmail compatibility, 479 for SMTP reception, interactive, 460 terminating, 479 for testing, 464, 473-478 for testing retry rules, 477 commands delivery, 250-253 noerror value, 253 filter, 239-241 address list testing, 261 conditional, 257-262 delivery status testing, 261 error message testing, 261 number testing, 259 personal mail testing, 259 significant actions testing, 261 string testing, 258 lmtp transport, defining, 232 logging, 256 mail, 253 pipe, 224, 229 defining, 222 Index commands, pipe (continued) environment for, 225, 229 environment variables for, 226 error handling, 227, 230 failure to execute, 229 gids/uids for, 224 output from, handling, 228-229 parsing command line, 224 restricting, 227 running from shell, 225, 231 timing, 226 command_timeout option, 187, 192 comments, 568 in headers, 12 $compile_date variable, 539 $compile_number variable, 539 comsat, notifying, 218 condition option, 96, 103, 114 debug_print option and, 113 queryprogram router and, 169 conditions, testing address lists, 261 delivery status, 261 error messages, 261 numbers, 259 personal mail, 259 significant actions, 261 strings, 258 configuration file, 34, 54-61 address rewriting, 341 comsat, setting, 218 domains and, 74 drivers and, 37 gids/uids, defining, 436 hostname in, 543 hosts, using on different, 456 IP domain literal addresses and, 169 log destination, configuring, 484 lookups, 59 macros in, 58 overriding, 470 name of, changing, 469 options in order of, 101 setting, 57 overrides, options for, 469 qualify_domain/qualify_recipient options and, 543 retry rules, 48 sections of, 55 string expansions in, 59 testing, 474 updating, 511 configure_file option, 474 9 October 2001 09:13 579 configuring, 2, 33 bounce messages, 179 for building, 518-526 debugging, 113, 174 delivery configurations, 71-100 dial-up hosts, 299 directories for shared files, 266 directors, 118-149 for address verification, 316 header additions/removals and, 176 (see also individual directors; director drivers; transport drivers) hardware, 69 incoming mail, 20 local transports, 194 log destination, 484 RBLs, 311 routers, 150-172 for address verification, 316 header additions/removals and, 176 (see also individual routers) runtime configuration, 34 setuid root, 271 TLS as client, 371 TLS as server, 368 transports, 173-237 (see also individual transports) connect( ), 187 timeout for, 192 connect_timeout option, 187, 192 contains test, 258 cram_md5 authenticator in a client, 367 in a server, 366 cram_md5 value (driver option), 363 create_directory option, 214, 219 create_file option, 206, 219 belowhome/inhome values, 196 CRLF (carriage return/linefeed), 11 message separation and, 203 message termination, 462 use_crlf option and, 199 cron, 32 log files, cycling, 493 message reception and, 304 queue runner processes, starting, 279 crypt( ), 401 crypteq condition, 401, 536 CTRL-R/CTRL-S (Exim monitor), 507 curly braces ({}) (see {} (curly braces)) current_directory option, 121, 143, 172, 203 delivery environment, controlling, 197 settings, overriding, 196 580 Cyrus IMAP server, local deliveries and, 86 D D field (delivery logging), 491 -d option, 478 -D option, 58, 470 log_arguments option and, 487 -d9–-d11 options, 478 daemon process, 32, 265, 273-277, 283 configuration file and, 54 options for, 276, 459 SMTP calls, 274 daemons comsat, notifying, 220 Exim on dial-up hosts, 300 IMAP, single-file delivery, 214 listening, 464 mailer, 452 POP password lookups and, 67 single-file delivery, 214 reception processes and, 277 daemon_smtp_port option, 273 DATA command (SMTP), 17 BSMTP and, 201 data option, 144 file option and, 144 forwarding lists and, 139 databases alias lists stored in, 133 Exim and, 2 filtering instructions stored in, 138 hints, 285 maintaining, 512 serialization and, 185 (see also retry database) lookups (see lookups) MySQL, 386 list of domains in, 72 quoting in, 415 names of, in exim_tidydb utility, 513 PostgreSQL, 387 quoting in, 415 queries, 137 reducing number of, 408 reject, 269, 513 retry (see retry database) routing information in, 162 serialize-, 513 serialize-etrn, 270 serialize-etrn-runs, 513 wait-, 269, 513 data_timeout option, 187, 192 9 October 2001 09:13 Index Date: header, processing messages with, 337 date/time, $tod_full variable, 547 -days option (req command), 368 db directory, 269 for retry database, 285 DBM files, 38, 72 mail commands and, 255 maintaining, 512 DBM library, 517 DBM lookups, 72, 380 terminating zeros and, 381 dbm value (search_type option), 134 Debian, Exim installation and, 516 debugging directors and routers, 113 with log_arguments option, 486 options for, 478 transports, 174 debug_print option, 113-114, 174, 182 def condition, 403, 536 defer value (host_find_failed option), 161, 167 :defer:/:fail:, 125 forbid_special option and, 137 new_address option and, 147 deferred value (self option), 153 def:header_ condition, 536 delay_after_cutoff option, 191-192, 296 delay_warning option, 453 delay_warning_condition option, 454 $domain variable, 539 deliver command, 249-250 as significant action, 248 in system filters, 262 delivering email (see email, delivering) deliver_load_max option, 63 deliver_queue_load_max option, 63 delivery agents, external local, 85 delivery errors, temporary, 114, 284-301 during directing/routing, 289 local, 288 remote, 285-288 host errors, 285 message errors, 286 multiple hosts, 288 recipient errors, 287 retrying after, 284 delivery processes, 265, 272, 281 queue runners and, 279 Delivery-date: header, 183 processing messages with, 337 delivery_date_add option, 175, 183 Index dial-up clients ETRN command and, 375 storing mail for, 159, 163 dial-up hosts, 270 batched delivery and, 199 configuring Exim on, 299 Exim daemon on, 300 incoming mail, 298, 301 message handling, 284 queue_only_file option and, 278 retrying delivery to, 297-301 Dial-up User List (DUL), 310 director drivers, 35, 101 addresses, processing, 37-49 aliasfile, 36 aliasing, single-level, 120 conditional running of, 119 configuring, 118-149 for address verification, 316 header additions/removals, 176 debugging, 113 delivery errors, 289 forwardfile, 37 localuser, 37 named vs. first, 121 options for, 101-121 summary of, 114-117 restricting to specific domains, 114 vs. router drivers, 38 smartuser, 37 smtp transport and, 184 transports, 49 types of, 118 (see also drivers) director setting (-bP option), 474 directories creating automatically, 219 current, 143 local transports and, 196 db, 269 for retry database, 285 deliveries and, 203 doc, 518 exim-3.22, 518 for hints files, 266 home, 143, 540 checking, 146 input, 267 local transports and, 195-196 local, deliveries to, 131 log, 266, 271 for mailboxes, 395 for message files, 266 msglog, 268, 483 9 October 2001 09:13 581 msglog.OLD, 268 routers and, 196 setting, 121 spool, 266 src, 518 sticky, 205 director_list setting (-bP option), 474 directory mode (appendfile transport), 203 directory option, 214, 219 file option and, 219 quota option and, 215, 221 directory paths, 124, 131 log destinations, 484 setting, 144 to turn on Exim, 529 directory_mode option, 214, 219 directory_transport option, 131 save command and, 251 disk partitions, fullness of, 506 disk space, checking for free, 65, 450 disk storage, 7 -dm option, 478 DNS administrators (see hostmasters) DNS blocking lists, 310-313 DUL, 310 RBL, 310 DNS (Domain Name Service), 21-24 caching and, 23 errors, 27 lookups, 388 controlling, 154, 451 delivery errors, 289 host verification and, 308 remote routers, 150 system host lookup instead, 156 DNS records mail routing and, 24 related, 25 dns_again_means_nonexist option, 451 dns_check_names_pattern option, 451 dnsdb lookup, 388 dns_qualify_single option, 192 dns_retrans option, 451 dns_retry option, 451 dns_search_parents option, 190, 192 doc directory, 518 documentation, 3 installing, 530 dollar sign ($) (see $ (dollar sign)) Domain Name Service (see DNS) domain names, 21 case sensitivity in, 22 characters allowed in, 451 582 domain operator, 410 domain records, 21, 24 types of, 22 (see also DNS records) domain value (batch option), 200, 202 $domain variable, 539 address rewriting, 345 batch option and, 200 bounce messages, replying to, 452 in delay warning messages, 454 local_parts option and, 106 smtp_etrn_command option and, 376 DOMAIN variable, 226 $domain_data variable, 426, 539 domainlist router, 36, 89, 150 domains option and, 161 host lists and, 163 lookups and, 378 on mail hubs, 165 options for, 158-168 routing domain, changing, 166 routing rules inline, 159 looked-up, 162 transports, varying, 166 domains adding to unqualified addresses, 339 changing, 166 default qualification, 61 lists of, 423-426 configuration file and, 60 partial- setting in, 425 single-key lookups in, 425 from string expansions, escaping characters in, 424 local, 71 retry rules and, 290 (see also domains, multiple-local) in message headers, 12 hostnames and, 24 not local to server, 17 qualify_domain option and, 35 routing and, 18 mixture of, 194 local/remote, 88 multiple-local, 71-74 differentiating between, 73 partial matching in lookups and, 390 preventing delivery to, 282 remote, 150 looking up in DNS, 150 manually routing, 158 in retry rules, 290 routed to local host, 151 9 October 2001 09:13 Index routed to self, 152-153 deferring, 153 failing, 153 passing to next router, 152 rerouting, 153 transporting, 153 treating as local, 152 virtual, 74-78 defaults in, 76 postmasters in, 77 domains in message headers, 38 domains option, 102, 114 domainlist router and, 161 lookups and, 425 mailing lists and, 78 queryprogram router and, 169 double quote (") (see " (double quote)) driver option, 101, 114, 174, 183, 363 drivers, 35 restricting, 103 by file existence, 104 to specific domains, 102 to specific local parts, 102, 115 to specific sender addresses, 102, 116 to verification, 103 specifying, 114 types of, 35 -dropcr option, 462 DUL (Dial-up User List), 310 E E flag (rewriting rules), 347 Eastern Standard Time (EST), 449 EDITOR environment variable, 472 EHLO command (SMTP), 16 error code in response to, 286 host verification and, 308 message reception logging, 489 syntax of, 449 verifying, 309 elif-then (if command), 257 else (if command), 257 email, 5-29 bouncing, 15, 20 delivering, 31, 33, 35-51, 199, 272 commands for, 250-253 controlling environment for, 110, 197 debugging, 479 deferring, 132 deferring to local parts, 125 delaying/suspending, 63 delays in, 453-455 Index email, delivering (continued) delivery errors, ignoring, 253 delivery status testing, 261 expansion variables, 541 failures (see bounce messages) filtering and, 241 forced, 283 forcing, 469, 471 hints files, 270 logging, 490-493 multiple, 148 to named pipes, 206, 218 options for, 464 parallel remote, 65, 281 without password data, 136 via pipes, 195 preventing, 263 processes, controlling number of, 66, 192 remotely, 272 retrying (see retrying delivery) root privilege and, 438, 440 simultaneous, 68 status of, checking, 404 suppressing, 479 to UUCP, 90 (see also Exim, processes; messages, batched; delivery processes) filtering, 2, 87, 107, 118, 184, 232, 238-264 with case independence, 398 expansion variable for users, 539 external delivery agent and, 241 filter files, 244-246 instructions in databases, 138 procmail and, 241 system filter, setting up, 242 user filter, setting up, 242 virus scanning and, 94 (see also autoreply transport) forgery of, 18 message reception logging, 489 forwarding, deliver command and, 250 identifying, 52 incoming, 6, 302-338 Bcc:/Cc:/To: headers, 336 checking, 2, 19 Date: headers, 337 Delivery-date:/Envelope-to:/Returnpath: headers, 337 for dial-up hosts, 298 on dial-up hosts, 301 From: header, 334 host blocking, 313 9 October 2001 09:13 583 from local processes, 304-307 Message-id:/Envelope-to:/Return-path: headers, 337 processing, 333-338 RBLs, 310-313 reception processes and, 265 remote sender addresses, checking, 314-322 Sender: header, 335 testing connections, 476 from UUCP, 334 message standards, 11 outgoing, 6, 10, 249 personal, distinguishing from mailing lists, 259 receiving, 31 logging, 488 options for, 460 processes and, 33 reducing at high load, 62-65 routing, 18 saving, 107 storing for dial-up hosts, 69 timeout for response to, 193 transmitting, 13-15 viruses (see security, viruses) (see also messages) encryption (see security, encryption) end queue run message, setting log level for, 487 ends test, 258 ENOENT error, 137 ENOTDIR error, 145 envelope From field, 347 envelope To field, 347 envelopes, 13 preserving, batched deliveries and, 200 $recipients_count variable and, 544 rejected by servers, 17 senders changing, 110 fixing bad, 318 Envelope-to: header, 14, 183 processing messages with, 337 envelope_to_add option, 175, 183 envelope preservation and, 200 environment option, 226, 229 environment variables EXIMON_ prefix, 504 for pipe commands, 226 pipe transport and, 195 eq condition, 399 equal sign (=) (see = (equal sign)) 584 errmsg_file option, 454 $errmsg_recipient variable, 454, 540 errmsg_text option, 454 error address, changing, 110 error messages, 5 customized, 540 delivering to users’ mailboxes, 130 failed to lock mailbox, 68 Permission denied checking file existence, 105 ignore_eacces option and, 140 testing for, 261 unknown local part, 108 unknown user, 48 error_message condition, 261 errors authentication response, 363 command, handling, 227 delivery, 114, 284-301 ignoring, 253 remote, 285-288 retrying after, 284 detection of on input, 481 DNS, 27 during DNS lookups, 151 ENOENT, 137 ENOTDIR, 145 forced expansion failure, 59 handling forwardfile director and, 140 routing, 465 host, 285 message, 286 recipient, 287 reporting message, 465 routing, options for, 465 syntax in addresses, 133 in alias/forward lists, 129 in EHLO/HELO commands, 310 in .forward file, 80 in headers, 326 logging, 487 in mailing lists, 80 temporary, 17, 19, 227 in lookups, 389 errors_address option, 453 errors_copy option, 452 errors_reply_to option, 452 errors_to option, 114 bounce messages and, 110 mailing lists and, 79 escape operator, 416 EST (Eastern Standard Time), 449 9 October 2001 09:13 Index EST value (timezone option), 449 /etc/aliases file (see system alias file) ETRN command (SMTP), 270, 374 delivery, forcing, 298 EX_CANTCREAT value (temp_errors option), 228 exclamation mark (!)


pages: 834 words: 180,700

The Architecture of Open Source Applications by Amy Brown, Greg Wilson

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

8-hour work day, anti-pattern, bioinformatics, c2.com, cloud computing, collaborative editing, combinatorial explosion, computer vision, continuous integration, create, read, update, delete, Debian, domain-specific language, en.wikipedia.org, fault tolerance, finite state, Firefox, friendly fire, linked data, load shedding, locality of reference, loose coupling, Mars Rover, MVC pattern, premature optimization, recommendation engine, revision control, side project, Skype, slashdot, social web, speech recognition, the scientific method, The Wisdom of Crowds, web application, WebSocket

The cpack executable is used to create installers for projects. CPack works much like the build part of CMake: it interfaces with other packaging tools. For example, on Windows the NSIS packaging tool is used to create executable installers from a project. CPack runs the install rules of a project to create the install tree, which is then given to a an installer program like NSIS. CPack also supports creating RPM, Debian .deb files, .tar, .tar.gz and self-extracting tar files. 5.2.3. Graphical Interfaces The first place many users first see CMake is one of CMake's user interface programs. CMake has two main user interface programs: a windowed Qt-based application, and a command line curses graphics-based application. These GUIs are graphical editors for the CMakeCache.txt file. They are relatively simple interfaces with two buttons, configure and generate, used to trigger the main phases of the CMake process.

It is effectively a binary release, since any piece of C code will be compiled in place. This is a big win for developers: they just have to describe their dependencies using the Python standards described below and use zc.buildout to release their application. But as discussed earlier, this type of release sets up a fortress within the system, which most Linux sysadmins will hate. Windows admins won't mind, but those managing CentOS or Debian will, because those systems base their management on the assumption that every file in the system is registered, classified, and known to admin tools. Those admins will want to repackage your application according to their own standards. The question we need to answer is, "Can Python have a packaging system that can be automatically translated into other packaging systems?" If so, one application or library can be installed on any system without requiring extra packaging work.


pages: 398 words: 86,023

The Wikipedia Revolution: How a Bunch of Nobodies Created the World's Greatest Encyclopedia by Andrew Lih

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Albert Einstein, AltaVista, barriers to entry, Benjamin Mako Hill, c2.com, Cass Sunstein, citation needed, crowdsourcing, Debian, en.wikipedia.org, Firefox, Hacker Ethic, HyperCard, index card, Jane Jacobs, Jason Scott: textfiles.com, jimmy wales, Marshall McLuhan, Network effects, optical character recognition, Ralph Waldo Emerson, Richard Stallman, side project, Silicon Valley, Skype, slashdot, social software, Steve Jobs, The Death and Life of Great American Cities, The Wisdom of Crowds, urban planning, urban renewal, Vannevar Bush, wikimedia commons, Y2K

This would lead to fewer donations, and fewer updates with current information, one of the main features of an online encyclopedia. But it might just be this maturation process that is needed. For example, the Linux operating system, which inspired the Wikipedia development model, has a robust marketplace creating multiple stable distributions built off a shared central base of computer code. Most users experience Linux through packages such as Ubuntu, SUSE, Debian, and Fe-dora, each one with different characteristics—ease of use, variety of features, look and feel, etc. This might be a model of Wikipedia, where people experience Wikipedia’s content through multiple “distributions,” and not necessarily through Wikipedia’s continuously shifting state as we see it today. Conclusion Perhaps no better quote sums up Wikipedia’s challenges than “The greatest en-emy of a revolution is its success.”


pages: 519 words: 102,669

Programming Collective Intelligence by Toby Segaran

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

correlation coefficient, Debian, en.wikipedia.org, Firefox, full text search, information retrieval, PageRank, prediction markets, recommendation engine, slashdot, web application

To install from the source, use the following, replacing 1.0.2 with the version you have downloaded: $ gunzip numpy-1.0.2.tar.gz $ tar xvf numpy-1.0.2.tar.gz $ cd numpy-1.0.2 $ python setup.py install Simple Usage Example This example shows you how to create matrices, multiply them together, and then transpose and flatten operations: >>> from numpy import * >>> a=matrix([[1,2,3],[4,5,6]]) >>> b=matrix([[1,2],[3,4],[5,6]]) >>> a*b matrix([[22, 28], [49, 64]]) >>> a.transpose( ) matrix([[1, 4], [2, 5], [3, 6]]) >>> a.flatten( ) matrix([[1, 2, 3, 4, 5, 6]]) matplotlib matplotlib is a 2D graphics library for Python that is much better for creating mathematical graphs than the Python Imaging Library. The figures it produces are intended to be of high enough quality to be used in publications. Installation Before installing matplotlib, you'll need to install NumPy, as described in the previous section. matplotlib has binary builds for all major platforms, including Windows, Mac OS X, RPM-based Linux distributions, and Debian-based distributions. You can find detailed instructions for installing matplotlib on any of the platforms at http://matplotlib.sourceforge.net/installing.html. Simple Usage Example This example will use orange circles to plot four points at (1,1), (2,4), (3,9), and (4,16). It will then save the output to a file and display it in a window on the screen. >>> from pylab import * >>> plot([1,2,3,4], [1,4,9,16], 'ro') [<matplotlib.lines.Line2D instance at 0x01878990>] >>> savefig('test1.png') >>> show( ) A great collection of usage examples is available at http://matplotlib.sourceforge.net/tutorial.html.


pages: 713 words: 93,944

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement by Eric Redmond, Jim Wilson, Jim R. Wilson

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Amazon Web Services, create, read, update, delete, data is the new oil, database schema, Debian, domain-specific language, en.wikipedia.org, fault tolerance, full text search, general-purpose programming language, linked data, MVC pattern, natural language processing, node package manager, random walk, recommendation engine, Skype, social graph, web application

A trade-off of this evolutionary behavior is that there are several paths to performing any given function in Mongo. 5.2 Day 1: CRUD and Nesting We’ll spend today working on some CRUD operations and finish up with performing nested queries in MongoDB. As usual, we won’t walk you through the installation steps, but if you visit the Mongo website,[37] you can download a build for your OS or find instructions on how to build from source. If you have OS X, we recommend installing via Homebrew (brew install mongodb ). If you use some Debian/Ubuntu variant, try Mongodb.org’s own apt-get package. To prevent typos, Mongo requires you to first create the directory where mongod will store its data. A common location is /data/db. Ensure the user you run the server under has permission to read and write to this directory. If it’s not already running, you can fire up the Mongo service by running mongod. Command-Line Fun To create a new database named book, first run this command in your terminal.


pages: 349 words: 114,038

Culture & Empire: Digital Revolution by Pieter Hintjens

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

4chan, airport security, anti-communist, anti-pattern, barriers to entry, Bill Duvall, bitcoin, blockchain, business climate, business intelligence, business process, Chelsea Manning, clean water, congestion charging, Corn Laws, correlation does not imply causation, cryptocurrency, Debian, Edward Snowden, failed state, financial independence, Firefox, full text search, German hyperinflation, global village, GnuPG, Google Chrome, greed is good, Hernando de Soto, hiring and firing, informal economy, invisible hand, James Watt: steam engine, Jeff Rulifson, Julian Assange, Kickstarter, M-Pesa, mutually assured destruction, Naomi Klein, national security letter, new economy, New Urbanism, Occupy movement, offshore financial centre, packet switching, patent troll, peak oil, pre–internet, private military company, race to the bottom, rent-seeking, reserve currency, RFC: Request For Comment, Richard Feynman, Richard Feynman, Richard Stallman, Satoshi Nakamoto, security theater, Skype, slashdot, software patent, spectrum auction, Steve Crocker, Steve Jobs, Steven Pinker, Stuxnet, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, trade route, transaction costs, union organizing, web application, WikiLeaks, Y2K, zero day, Zipf's Law

We survive by attaching to groups, following others, and trying to make sense of the world. Some groups work by domesticating and brutalizing us. Other groups work by giving us freedom and allowing us to be stronger, smarter, and more independent. In 2000, the Internet had not yet become cheap enough for mass-market use, and open source communities were small and often regional, frequently focused around universities. Open source communities such as the Debian Foundation still operated as classic not-for-profit organizations, as legal entities with boards, treasurers, and the like. In 2005, I joined a number of collaborative projects. On the one hand, I was involved with the FFII, working to stop software patents in Europe. We (the good guys) spoke in the European Parliament, debated with the European Patent Office (the bad guys), organized seminars, tabled amendments, got votes, and broadly, took part in the largest lobbying effort ever to hit Brussels.


pages: 422 words: 104,457

Dragnet Nation: A Quest for Privacy, Security, and Freedom in a World of Relentless Surveillance by Julia Angwin

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

AltaVista, Ayatollah Khomeini, barriers to entry, bitcoin, Chelsea Manning, clean water, crowdsourcing, cuban missile crisis, data is the new oil, David Graeber, Debian, Edward Snowden, Filter Bubble, Firefox, GnuPG, Google Chrome, Google Glasses, informal economy, Jacob Appelbaum, Julian Assange, market bubble, market design, medical residency, meta analysis, meta-analysis, mutually assured destruction, prediction markets, price discrimination, randomized controlled trial, RFID, Robert Shiller, Ronald Reagan, security theater, Silicon Valley, Silicon Valley startup, Skype, smart meter, Steven Levy, Upton Sinclair, WikiLeaks, Y2K, Zimmermann PGP

The graph of my collaborators looked like this: The graphic made it crystal clear that I e-mailed about a dozen people far more than anyone else. It reminded me how unique my social network was. Disturbed, I set about trying to disentangle myself from Gmail. I briefly considered running my own e-mail server at home after I ran across a blog post called “NSA Proof your e-mail in 2 hours.” But I abandoned the idea eight paragraphs into the post when the author stated, “I’m going to assume you’re running Debian Wheezy.” It was clearly too technical a job for me. So I looked around for privacy-protecting e-mail services. It turned out that there were dozens of them—with names such as Hushmail, NeoMail, and CounterMail. I really liked CounterMail—a paid e-mail service that passed the mud-puddle test—but I had to rule it out because it was based in Sweden. As a U.S. citizen, my e-mail is protected by law.


pages: 490 words: 40,083

PostgreSQL: introduction and concepts by Bruce Momjian

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

computer age, Debian, Y2K

., in Toronto, Ontario, Canada, worked on the and the INET type. TCL interface, PyGreSQL, • Dal Zotto, Massimo, near Trento, Italy, created locking code and other improvements. xxvii xxviii ACKNOWLEDGMENTS • Eisentraut, Peter, in Uppsala, Sweden, has added many features, including an overhaul of psql. • Elphick, Oliver, in Newport, Isle of Wight, United Kingdom, maintains the POSTGRESQL package for Debian Linux. • Horak, Daniel, near Pilzen, Czech Republic, did the WinNT port of POSTGRESQL (using the Cygwin environment). • Inoue, Hiroshi, in Fukui, Japan, improved btree index access. • Ishii, Tatsuo, in Zushi, Kanagawa, Japan, handles multibyte foreign language support and porting issues. • Martin, Dr. Andrew C. R., in London, United Kingdom, created the ECPG interface and helped in the Linux and Irix FAQs including some patches to the POSTGRESQL code. • Mergl, Edmund, in Stuttgart, Germany, created and maintains pgsql_perl5.


pages: 655 words: 141,257

Programming Android: Java Programming for the New Generation of Mobile Devices by Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

anti-pattern, business process, conceptual framework, create, read, update, delete, database schema, Debian, domain-specific language, en.wikipedia.org, fault tolerance, Google Earth, interchangeable parts, iterative process, loose coupling, MVC pattern, revision control, RFID, web application

To successfully complete an installation as it is described here, you must install Eclipse in a folder managed by one user, and launch it from this location. If you are using Ubuntu or another Linux distribution, you should not install Eclipse from your distribution’s repositories, and if it is currently installed this way, you must remove it and install Eclipse as described here. The presence of an “eclipse” package in the Ubuntu repositories is an inheritance from the Debian repositories on which Ubuntu is based. It is not a widely used approach to installing and using Eclipse, because most of the time, your distribution’s repositories will have older versions of Eclipse. To confirm that Eclipse is correctly installed and that you have a JRE that supports Eclipse, launch the executable file in the Eclipse folder. You may want to make a shortcut to this executable file to launch Eclipse more conveniently.


pages: 457 words: 126,996

Hacker, Hoaxer, Whistleblower, Spy: The Story of Anonymous by Gabriella Coleman

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

1960s counterculture, 4chan, Amazon Web Services, Bay Area Rapid Transit, bitcoin, Chelsea Manning, citizen journalism, cloud computing, collective bargaining, corporate governance, crowdsourcing, David Graeber, Debian, East Village, Edward Snowden, feminist movement, hive mind, impulse control, Jacob Appelbaum, jimmy wales, Julian Assange, Mohammed Bouazizi, Network effects, Occupy movement, pirate software, Richard Stallman, SETI@home, side project, Silicon Valley, Skype, Steven Levy, WikiLeaks, zero day

Of course, such responsiveness is itself fragile—working groups within Anonymous are prone to dissolution. They might function well for three to six months, and then break up following volcanic levels of internal feuding. (Bazelon covers in detail the stormy bickering leading to the dissolution of one such team.) They might then reconstitute later with new members who have not internalized the same hard-learned lessons. In contrast to other hacker and geek endeavors—like Debian, the largest free software project in the world—Anonymous has no established methodology through which to encode itself as an institution. Only limited—and provisional—protocols exist to perform the roles of adjudication, social reproduction, and mentoring. For instance, IRC channels like #opnewblood, as its name suggests, serve primarily pedagogical purposes. It is a space where newcomers learn the technical and cultural ropes.


pages: 320 words: 87,853

The Black Box Society: The Secret Algorithms That Control Money and Information by Frank Pasquale

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Affordable Care Act / Obamacare, algorithmic trading, Amazon Mechanical Turk, asset-backed security, Atul Gawande, bank run, barriers to entry, Berlin Wall, Bernie Madoff, Black Swan, bonus culture, Brian Krebs, call centre, Capital in the Twenty-First Century by Thomas Piketty, Chelsea Manning, cloud computing, collateralized debt obligation, corporate governance, Credit Default Swap, credit default swaps / collateralized debt obligations, crowdsourcing, cryptocurrency, Debian, don't be evil, Edward Snowden, en.wikipedia.org, Fall of the Berlin Wall, Filter Bubble, financial innovation, Flash crash, full employment, Goldman Sachs: Vampire Squid, Google Earth, Hernando de Soto, High speed trading, hiring and firing, housing crisis, informal economy, information retrieval, interest rate swap, Internet of things, invisible hand, Jaron Lanier, Jeff Bezos, job automation, Julian Assange, Kevin Kelly, knowledge worker, Kodak vs Instagram, kremlinology, late fees, London Interbank Offered Rate, London Whale, Mark Zuckerberg, mobile money, moral hazard, new economy, Nicholas Carr, offshore financial centre, PageRank, pattern recognition, precariat, profit maximization, profit motive, quantitative easing, race to the bottom, recommendation engine, regulatory arbitrage, risk-adjusted returns, search engine result page, shareholder value, Silicon Valley, Snapchat, Spread Networks laid a new fibre optics cable between New York and Chicago, statistical arbitrage, statistical model, Steven Levy, the scientific method, too big to fail, transaction costs, two-sided market, universal basic income, Upton Sinclair, value at risk, WikiLeaks

Don Peck, “They’re Watching You at Work,” The Atlantic, December 2013, 76. When work is largely done in computing environments, the assessment can be very granular. Software engineers are assessed for their contributions to open source projects, with points awarded when others use their code. E. Gabriella Coleman, Coding Freedom: The Ethics and Aesthetics of Hacking (Princeton, NJ: Princeton University Press, 2013) (exploring Debian open source community and assessment of community members’ contributions); Stephen Baker, The Numerati (New York: Houghton-Miffl in, 2008), 33. 87. Mat Honan, “I Flunked My Social Media Background Check. Will You?,” Gizmodo (July 7, 2011). Available at http://gizmodo.com /5818774 /this-is -a-social-media-background-check /. (“For each [social media] internet sources, Social Intelligence scored [candidate as] either “pass” or “negative,” and included comments such as “subject admits to use of cocaine as well as LSD,” and “subject references use of Ketamine [another recreational drug].”).


pages: 1,025 words: 150,187

ZeroMQ by Pieter Hintjens

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

anti-pattern, carbon footprint, cloud computing, Debian, distributed revision control, domain-specific language, factory automation, fault tolerance, fear of failure, finite state, Internet of things, iterative process, premature optimization, profit motive, pull request, revision control, RFC: Request For Comment, Richard Stallman, Skype, smart transportation, software patent, Steve Jobs, Valgrind, WebSocket

Detecting Memory Leaks Any long-running application has to manage memory correctly, or eventually it’ll use up all available memory and crash. If you use a language that handles this automatically for you, congratulations. If you program in C or C++ or any other language where you’re responsible for memory management, here’s a short tutorial on using valgrind, which, among other things, will report on any leaks your programs have: To install valgrind, such as on Ubuntu or Debian, issue: sudo apt-get install valgrind By default, ØMQ will cause valgrind to complain a lot. To remove these warnings, create a file called valgrind.supp that contains this: { <socketcall_sendto> Memcheck:Param socketcall.sendto(msg) fun:send ... } { <socketcall_sendto> Memcheck:Param socketcall.send(msg) fun:send ... } Fix your applications to exit cleanly after Ctrl-C. For any application that exits by itself, that’s not needed, but for long-running applications, this is essential.


pages: 643 words: 53,639

Rapid GUI Programming With Python and Qt by Mark Summerfield

Amazon: amazon.comamazon.co.ukamazon.deamazon.fr

Debian, loose coupling, MVC pattern, software patent, sorting algorithm, web application

Installing on Linux and Unix 571 For Linux and most other Unixes that don’t have PyQt4 preinstalled, there are four tools to install: the Qt C++ application development framework, the Python interpreter and its accompanying libraries, the SIP bindings tool, and PyQt4 itself. The most convenient way to get everything up and running is to install the tools using standard packages for the Linux or Unix distribution being used. For ArchLinux, Debian, Fedora, Gentoo, Kubuntu, Pardus, Ubuntu, and many others, the necessary components are available as packages. These can be installed using Adept, Pirut, apt-get, yum, or whatever other package manager the system uses. For PyQt4, the package is usually called pyqt4 or PyQt4 or pyqt4-dev-tools. PyQt4’s documentation package is usually called pyqt4-doc or python-qt4-doc or PyQt4-examples. Python’s documentation is usually in a package called python-doc or python-docs.