R Packages
R functions and datasets can be organized into a package. Package is essentially a library
of functions for specific domain and helps to accomplish a specific for this domain set of tasks.
For example ggplot2 is the package for plotting result of computations in graphical form.
Typically packages that have high quality are available from CRAN. Some of them are well maintained.
Other lost key developer and gradually sliding into abandonware status. Most package are written by
statisticians and as such provides functionality that might be different then a programmer coming to
R from other scripting language such as Perl of Python would expect.
R package is a essentially a folder of folders, each containing specific types of files. For example,
the root of package TTR on Windows can be located in
C:\Users\username\Documents\R\R-3.2.0\library\TTR
Within this folder there are several subfolders that constitute the package. Some of then are obligatory
some of them are optional. minimum is two (R and man) and typical number is six:
- Folder /R contains functions that can be called from the package. For most packages
they are precompiled and you need to download the package source separately to see the code.
- Folder./man contains documentation files.
- Folder ./data can contain data tat are sometimes included with the package.
- Folder scr contains compiled Fortran or C++ code used by the package. This is
somewhat paradoxical as the name suggests source files, not binaries.
- Folder inst contain files that need to be installed for the end user
- Folder test contain code that tests functions in the package.
Root folder contains two mandatory files DESCRIPTION file and NAMESPACE as well
as can contain several other (recommended) files such as NEWS, LICENSE, and
README.
06/14/2015 01:03 AM <DIR> .
06/14/2015 01:03 AM <DIR> ..
06/14/2015 01:03 AM <DIR> data
06/14/2015 01:03 AM 562 DESCRIPTION
06/14/2015 01:03 AM <DIR> help
06/14/2015 01:03 AM <DIR> html
06/14/2015 01:03 AM 2,193 INDEX
06/14/2015 01:03 AM <DIR> libs
06/14/2015 01:03 AM 1,177 MD5
06/14/2015 01:03 AM <DIR> Meta
06/14/2015 01:03 AM 965 NAMESPACE
06/14/2015 01:03 AM <DIR> R
For each subject domain there is a set of most popular packages. For example for technical analysis
the following package are commonly used:
- TTR package
- Quantmod package
- reshape package
- ggplot2 package
- Quandl package
Only when a package is loaded functions and datasets provided by the package became available. This
is done both for efficiency (the full list would take more memory and would take longer to search than
a subset), and to aid package developers, who are protected from name clashes with other code. The process
of developing packages is described in
Creating R packages in Writing R Extensions.
User can inquire which packages are installed and load the necessary from the command line:
library() # list all available packages
library(lib.loc = .Library) # list all packages in the default library
library(help = quantmod) # documentation on package 'quantmod'
library(quantmod) # load package 'quantmod'
require(quantmod) # the same
search() #
detach("package:quantmod") # detach package
To see which packages are installed on your desktop or server, issue the command
> library()
with no arguments. On just installed RStudio you will get something like:
Packages in library C:/Users/user/Documents/R/R-3.2.0/library:
base The R Base Package.
boot Bootstrap Functions (Originally by
Angelo Canty for S)
class Functions for Classification
cluster Cluster Analysis Extended Rousseeuw et
al.
codetools Code Analysis Tools for R
compiler The R Compiler Package
datasets The R Datasets Package
foreign Read Data Stored by Minitab, S, SAS,
SPSS, Stata, Systat, Weka, dBase, ...
graphics The R Graphics Package
grDevices The R Graphics Devices and Support for
Colours and Fonts
grid The Grid Graphics Package
KernSmooth Functions for Kernel Smoothing
Supporting Wand & Jones (1995)
lattice Lattice Graphics
manipulate Interactive Plots for RStudio
MASS Support Functions and Datasets for
Venables and Ripley's MASS
Matrix Sparse and Dense Matrix Classes and
Methods
methods Formal Methods and Classes
mgcv Mixed GAM Computation Vehicle with
GCV/AIC/REML Smoothness Estimation
nlme Linear and Nonlinear Mixed Effects
Models
nnet Feed-Forward Neural Networks and
Multinomial Log-Linear Models
parallel Support for Parallel computation in R
rpart Recursive Partitioning and Regression
Trees
rstudio Tools and Utilities for RStudio
spatial Functions for Kriging and Point
Pattern Analysis
splines Regression Spline Functions and
Classes
stats The R Stats Package
stats4 Statistical Functions using S4 Classes
survival Survival Analysis
tcltk Tcl/Tk Interface
tools Tools for Package Development
translations The R Translations Package
utils The R Utils Package
The base package contains the basic functions which let R function as a language: arithmetic, input/output,
basic programming support, etc. For a complete list of functions, use library(help = "base").
To load a particular package (e.g., Quantmod package)
use need to use a command:
> library(quantmod)
After that you can use functions provided by the package. This statement works only when package
is installed. If it is not you need to install it.
library(package)
and require(package)
both load the package with name package
and put it on the search list.
require
is designed for
use inside other functions; it returns FALSE
and gives a warning (rather than an error
as library()
does
by default) if the package does not exist. Both functions check and update the list of currently loaded
packages and do not reload a package which is already loaded. (If you want to reload such a package,
call detach(unload = TRUE)
or unloadNamespace
first.) If you want to load a package without putting it on the search list, use requireNamespace
.
Not each and every library needs to be loaded. There is a set of packages loaded on startup is by
default
> getOption("defaultPackages")
[1] "datasets" "utils" "grDevices" "graphics" "stats"
[6] "methods"
(plus, of course, base) and this can be changed by setting the option in startup
code (e.g. in ~/.Rprofile).
It is initially set to the value of the environment variable R_DEFAULT_PACKAGES
if set
(as a comma-separated list).
Setting R_DEFAULT_PACKAGES=NULL
ensures that only package base is loaded.
Users connected to the Internet can use the install.packages()
and update.packages()
functions.
In Rstudio you can use GUI to achieve the same result (see below). See
Installing packages in R Installation and Administration) on more information about
to install and update packages.
To see which packages are currently loaded, use
> search()
to display the search list.
> search()
[1] ".GlobalEnv" "tools:rstudio" "package:stats"
[4] "package:graphics" "package:grDevices" "package:utils"
[7] "package:datasets" "package:methods" "Autoloads"
[10] "package:base"
Some packages may be loaded but not available on the search list (see
Namespaces):
these will be included in the list given by
> loadedNamespaces()
To see a list of all available help topics in an installed package, use
> help.start()
to start the HTML help system, and then navigate to the package listing in the
Reference
section.
R packages are installed into libraries, which are directories in the file system containing
a subdirectory for each package installed there.
R comes with a single library, R_HOME/library which is the value of the R
object .Library containing the standard and recommended packages.
Both sites and users can create others and load them in an R session. At the lowest level .libPaths()
can be used to add paths to the collection of libraries or to report the current collection.
R will automatically make use of a site-specific library R_HOME/site-library
if this exists (it does not in a vanilla R installation). This location can be overridden by setting13
.Library.site in R_HOME/etc/Rprofile.site, or (not recommended)
by setting the environment variable R_LIBS_SITE
. Like .Library, the site
libraries are always included by .libPaths().
Users can have one or more libraries, normally specified by the environment variable R_LIBS_USER
.
This has a default value (to see it, use Sys.getenv("R_LIBS_USER") within an R session),
but that is only used if the corresponding directory actually exists (which by default it will not).
Both R_LIBS_USER
and R_LIBS_SITE
can specify multiple library paths, separated
by colons (semicolons on Windows).
Access to the package page can be done using shortcut Ctrl+7. From this dialog you can search
packages in CRAN and install those that you found.
Selecting "install dependencies" checkbox allow you to install all the necessary dependencies for
the package.
Sometimes there is a need to install package from a zip file downloaded to the local filesystem.
In this case you need to chose Package Archive File (zip) in "Install From" dialog.
The best way to avoid troubles with proxy, if your proxy requires authentication is to submit ticket
to make one of CRAN mirror accessible without authentication. For the USA it might be
http://watson.nci.nih.gov/cran_mirror/
Then you can put this mirror in Rstudio (Configuring
R to Use an HTTP Proxy RStudio Support)
...The R documentation for the
download.file method explains how to configure R to use an HTTP proxy. In short this requires
adding one or more environment variables to your installation to point to the proxy.
To set the required environment variables you should add them to the R environment file (which
is
read
by R at startup). On RStudio Server this file is found at R_HOME/etc/Renviron.site.
On RStudio Desktop this file is found in the user home directory at ~/.Renviron.
You can easily access your .Renviron file by running the command file.edit('~/.Rprofile')
within RStudio
Note that these files might not exist in the default installation of R so you may need to create
them if they aren't already present.
Example environment file entries for proxy configuration might be:
http_proxy=http://proxy.dom.com/
http_proxy_user=user:passwd
Note that the http_proxy_user entry need only be supplied if the proxy requires
authentication. There is also an ftp_proxy entry which can be specified for FTP
transfers. You can consult the
download.file documentation for detailed information on all available proxy options.
These environment variables are read once during the first call to download.file
so if you have running R sessions you'll need to quit and restart them for the proxy behavior to
take effect.
To see diagnostic information for HTTP transfers you can set the internet.info
option to 0 or 1 (the default is 2, which only shows diagnostics for failure cases). For example:
options(internet.info = 0)
alternative to modifying the config file is to use the following command from the command line:
Sys.setenv(http_proxy="http://MyLoGiN:MyPaSs@1ncproxy1:80")
This is way too many packages for the introductory (actually basic level) book. But that
reflects problem with R in general, not only the problem with the particular book.
Package |
URL |
Amelia |
http://cran.r-project.org/web/packages/Amelia/index.html |
BH |
http://cran.r-project.org/web/packages/BH/index.html |
GGally |
http://cran.r-project.org/web/packages/GGally/index.html |
RODBC |
http://cran.r-project.org/web/packages/RODBC/index.html |
RXKCD |
http://cran.r-project.org/web/packages/RXKCD/index.html |
Rcpp |
http://cran.r-project.org/web/packages/Rcpp/index.html |
RcppArmadillo |
http://cran.r-project.org/web/packages/RcppArmadillo/index.html |
RevoScaleR |
http://cran.r-project.org/web/packages/RevoScaleR/index.html |
Sweave |
http://cran.r-project.org/web/packages/Sweave/index.html |
UsingR |
http://cran.r-project.org/web/packages/UsingR/index.html |
WDI |
http://cran.r-project.org/web/packages/WDI/index.html |
XLConnect |
http://cran.r-project.org/web/packages/XLConnect/index.html |
XML |
http://cran.r-project.org/web/packages/XML/index.html |
arm |
http://cran.r-project.org/web/packages/arm/index.html |
bayesGARCH |
http://cran.r-project.org/web/packages/bayesGARCH/index.html |
bigmemory |
http://cran.r-project.org/web/packages/bigmemory/index.html |
boot |
http://cran.r-project.org/web/packages/boot/index.html |
chron |
http://cran.r-project.org/web/packages/chron/index.html |
cluster |
http://cran.r-project.org/web/packages/cluster/index.html |
coefplot |
http://cran.r-project.org/web/packages/coefplot/index.html |
data.table |
http://cran.r-project.org/web/packages/data.table/index.html |
devtools |
http://cran.r-project.org/web/packages/devtools/index.html |
doParallel |
http://cran.r-project.org/web/packages/doParallel/index.html |
fGarch |
http://cran.r-project.org/web/packages/fGarch/index.html |
fastcluster |
http://cran.r-project.org/web/packages/fastcluster/index.html |
foreach |
http://cran.r-project.org/web/packages/foreach/index.html |
forecast |
http://cran.r-project.org/web/packages/forecast/index.html |
foreign |
http://cran.r-project.org/web/packages/foreign/index.html |
gdata |
http://cran.r-project.org/web/packages/gdata/index.html |
ggplot2 |
http://cran.r-project.org/web/packages/ggplot2/index.html |
ggthemes |
http://cran.r-project.org/web/packages/ggthemes/index.html |
glmnet |
http://cran.r-project.org/web/packages/glmnet/index.html |
knitr |
http://cran.r-project.org/web/packages/knitr/index.html |
lars |
http://cran.r-project.org/web/packages/lars/index.html |
lattice |
http://cran.r-project.org/web/packages/lattice/index.html |
lubridate |
http://cran.r-project.org/web/packages/lubridate/index.html |
maptools |
http://cran.r-project.org/web/packages/maptools/index.html |
mgcv |
http://cran.r-project.org/web/packages/mgcv/index.html |
mi |
http://cran.r-project.org/web/packages/mi/index.html |
mice |
http://cran.r-project.org/web/packages/mice/index.html |
nnet |
http://cran.r-project.org/web/packages/nnet/index.html |
pam |
http://cran.r-project.org/web/packages/pam/index.html |
parallel |
http://cran.r-project.org/web/packages/parallel/index.html |
plyr |
http://cran.r-project.org/web/packages/plyr/index.html |
proto |
http://cran.r-project.org/web/packages/proto/index.html |
quantmod |
http://cran.r-project.org/web/packages/quantmod/index.html |
randomForest |
http://cran.r-project.org/web/packages/randomForest/index.html |
reshape |
http://cran.r-project.org/web/packages/reshape/index.html |
reshape2 |
http://cran.r-project.org/web/packages/reshape2/index.html |
rgeos |
http://cran.r-project.org/web/packages/rgeos/index.html |
roxygen2 |
http://cran.r-project.org/web/packages/roxygen2/index.html |
rpart |
http://cran.r-project.org/web/packages/rpart/index.html |
rpart.plot |
http://cran.r-project.org/web/packages/rpart.plot/index.html |
rugarch |
http://cran.r-project.org/web/packages/rugarch/index.html |
scales |
http://cran.r-project.org/web/packages/scales/index.html |
slidify |
http://cran.r-project.org/web/packages/slidify/index.html |
sp |
http://cran.r-project.org/web/packages/sp/index.html |
splines |
http://cran.r-project.org/web/packages/splines/index.html |
stringr |
http://cran.r-project.org/web/packages/stringr/index.html |
survival |
http://cran.r-project.org/web/packages/survival/index.html |
tseries |
http://cran.r-project.org/web/packages/tseries/index.html |
useful |
http://cran.r-project.org/web/packages/useful/index.html |
vars |
http://cran.r-project.org/web/packages/vars/index.html |
xlsReadWrite |
http://cran.r-project.org/web/packages/xlsReadWrite/index.html |
xts |
http://cran.r-project.org/web/packages/xts/index.html |
Apr 19, 2010; 12:00pm How to set proxy settings for R
dandaonline
I would like to run R on my computer (with win xp on it) at work bu the proxy restrictions
of the university don't let me download the packages or to connect to a cran mirror, I usually
get this message:
> chooseCRANmirror()
Warning message:
In open.connection(con, "r") :
unable to connect to 'cran.r-project.org' on port 80.
Do you know if there is a way to set proxy settings for using R normally?
Thanks a lot
Henrique Dallazuanna, Selected post Apr 19, 2010; 2:12pm
Try this:
setInternet2()
chooseCRANmirror()
Pete Brecknock, Apr 19, 2010; 4:29pm
Re: How to set proxy settings for R
In reply to this post by danda
Also, the FAQ suggests using the alternative internet2.dll by starting R with the flag
--internet2
If you start R from a desktop icon, you can add the --internet flag to the target line (right
click, properties) e.g.
"C:\Program Files\R\R-3.2.1\bin\Rgui.exe" --internet2
see http://cran.r-project.org/bin/windows/rw-FAQ.html#The-Internet-download-functions-fail_002e
HTH
Pete
djmuseR, Apr 19, 2010; 9:32pm
In reply to this post by danda
Hi:
One alternative to sneaking around the proxy restrictions is to load
R onto a jump drive and run it off of that. I know of several instructors
who are using that approach with their students for similar reasons.
Unless you have a compelling reason to install every single package,
you should be able to fit R comfortably on a 4Gb memory stick.
Just wanted to provide a different possible solution to your problem :)
Dennis
danda:
In reply to this post by Pete Brecknock
Dear Pete,
Thanks, it works now!
I did as you suggested:
--internet flag to the target line (right click, properties) e.g. "C:\Program Files\R\R-2.8.1\bin\Rgui.exe"
--internet2
Strangely enough, I can now easly download packages but I still get these messages:
chooseCRANmirror()
Warning message:
In open.connection(con, "r") :
cannot open: HTTP status was '407 Proxy Authentication Required'
> utils:::menuInstallPkgs()
Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/2.10
..but eventually it does install what I want...any clue?
Alessandra
Pete Brecknock
Hi Alessandra
Did you restart R?
You should be able to download packages using the Packages> Install Package(s)
from the menu
bar in the GUI.
Once the package has been downloaded select Packages> Load Package
you should see what you
just downloaded in a list of available packages
I am facing problem while connecting R with internet in my office. May be this due to LAN settings.
I tried the almost all possible ways I come across in the web (see below) but still in vain.
- Method1: Invoking R using --internet2
- Method2: Invoking R by setting "~/Rgui.exe"
http_proxy=http:/999.99.99.99:8080/ http_proxy_user=ask
- Method3: Setting Setinternet2=TRUE
- Method4:
curl <- getCurlHandle()
curlSetOpt(.opts = list(proxy = '999.99.99.99:8080'), curl = curl)
Res <- getURL('http://www.cricinfo.com', curl = curl)
In above all methods I can able to load packages directly from CRAN also able to download files
using download.file command
But using getURL(RCurl)
, readHTMLTable(XML)
, htmlTreeParse(XML)
commands I am unable to extract web data. I am getting ~<HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD>~
error.
How to set LAN proxy settings for XML package in R?
user813966
If you've tried everything and it still doesn't work, then speak to your network administrator;
they may need to set up a firewall exception to allow traffic through from your machine.
Richie Cotton
Jun 28 '11 at 13:39
Geek On Acid
On Mac OS, I found the best solution
here. Quoting the author, two simple steps are:
1) Open Terminal and do the following:
export http_proxy=http://staff-proxy.ul.ie:8080
export HTTP_PROXY=http://staff-proxy.ul.ie:8080
2) Run R and do the following:
Sys.setenv(http_proxy="http://staff-proxy.ul.ie:8080")
double-check this with:
Sys.getenv("http_proxy")
I am behind university proxy, and this solution worked perfectly. The major issue is to export
the items in Terminal before running R, both in upper- and lower-case.
Richie Cotton
The problem is with your curl options the RCurl
package doesn't seem to use
internet2.dll
. You need to specify the port separately, and will probably need to
give your user login details as network credentials, e.g.,
opts <- list(
proxy = "999.999.999.999",
proxyusername = "mydomain\\myusername",
proxypassword = "mypassword",
proxyport = 8080
)
getURL("http://stackoverflow.com", .opts = opts)
Remember to escape any backslashes in your password. You may also need to wrap the URL in a
call to curlEscape
.
if the options specified are globally set with curlSetOpt(.opts=opts)
are these also
used for other connections such as with connections from XML
package e.g.: htmlTreeParse()
or how do I force them to use the proxy? thanks!
Seb
Nov 20 '12 at 13:23
I had the same problem at my office and I solved it adding the proxy in the destination of the R
shortcut; clik on right button of the R icon, preferences, and in the destination field add
"C:\Program Files\R\your_R_version\bin\Rgui.exe" http_proxy=http://user_id:passwod@your_proxy:your_port/
Be sure to put the directory where you have the R program installed. That works for me. Hope this
help.
If you start R from a desktop icon, you can add the --internet flag to the target line (right
click, properties) e.g. "C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2
On Windows 7 I solved this by going into my environment settings (try
this link for how) and adding user variables http_proxy
and https_proxy
with my proxy details.
Tried all of these and also the solutions using netsh, winhttp etc. Geek On Acid's answer helped
me download packages from the server but none of these solutions worked for using the package I wanted
to run (twitteR package).The best solution is to use a software that let's you configure system-wide
proxy.
FreeCap (free) and
Proxifier (trial) worked perfectly for me
at my company.
Please note that you need to remove proxy settings from your browser and any other apps that you
have configured to use proxy as these tools provide system-wide proxy for all network traffic from
your computer.
My machine is running on Ubuntu 14.04, and I have already tried looking at Configuring R to Use an
HTTP Proxy in the FAQ section of Rstudio support.
This is what I did till now...
in my home directory, I created a file named .Renviron with the following contents
http_proxy = http:// ip_address : port_num/
http_proxy_user = username : password
then in the rstudio, I tried to install swirl package
> install.packages("swirl")
Warning in install.packages :
cannot open: HTTP status was '403 Forbidden'
Warning in install.packages :
cannot open: HTTP status was '403 Forbidden'
Warning in install.packages :
unable to access index for repository http://cran.rstudio.com/src/contrib
Installing package into '/home/dmacs/R/x86_64-pc-linux-gnu-library/3.1'
(as 'lib' is unspecified)
Warning in install.packages :
cannot open: HTTP status was '403 Forbidden'
Warning in install.packages :
cannot open: HTTP status was '403 Forbidden'
Warning in install.packages :
unable to access index for repository http://cran.rstudio.com/src/contrib
Warning in install.packages :
package 'swirl' is not available (for R version 3.1.2)
and there I see all this stuff, but I am able to access the link http://cran.rstudio.com/src/contrib
from my browser.
I even tried setting up the proxy using GUI based rstudio, but I couldn't figure out where was
the option to set the proxy.
enter image description here
Thanks in advance.
r
===
Swaroop
You should add proxy information to your Renviron.site file that is located 'R_HOME/etc/Renviron.site'.
You can find your R_HOME by call bellow command on RStudio console.
> R.home()
[1] "/usr/lib/R"
Add you proxy server address in 'R_HOME/etc/Renviron.site'
http_proxy=http://<<your proxy server address>>/
and restart RStudio.
Good luck.
Ky Ryu
Softpanorama Recommended
Society
Groupthink :
Two Party System
as Polyarchy :
Corruption of Regulators :
Bureaucracies :
Understanding Micromanagers
and Control Freaks : Toxic Managers :
Harvard Mafia :
Diplomatic Communication
: Surviving a Bad Performance
Review : Insufficient Retirement Funds as
Immanent Problem of Neoliberal Regime : PseudoScience :
Who Rules America :
Neoliberalism
: The Iron
Law of Oligarchy :
Libertarian Philosophy
Quotes
War and Peace
: Skeptical
Finance : John
Kenneth Galbraith :Talleyrand :
Oscar Wilde :
Otto Von Bismarck :
Keynes :
George Carlin :
Skeptics :
Propaganda : SE
quotes : Language Design and Programming Quotes :
Random IT-related quotes :
Somerset Maugham :
Marcus Aurelius :
Kurt Vonnegut :
Eric Hoffer :
Winston Churchill :
Napoleon Bonaparte :
Ambrose Bierce :
Bernard Shaw :
Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient
markets hypothesis :
Political Skeptic Bulletin, 2013 :
Unemployment Bulletin, 2010 :
Vol 23, No.10
(October, 2011) An observation about corporate security departments :
Slightly Skeptical Euromaydan Chronicles, June 2014 :
Greenspan legacy bulletin, 2008 :
Vol 25, No.10 (October, 2013) Cryptolocker Trojan
(Win32/Crilock.A) :
Vol 25, No.08 (August, 2013) Cloud providers
as intelligence collection hubs :
Financial Humor Bulletin, 2010 :
Inequality Bulletin, 2009 :
Financial Humor Bulletin, 2008 :
Copyleft Problems
Bulletin, 2004 :
Financial Humor Bulletin, 2011 :
Energy Bulletin, 2010 :
Malware Protection Bulletin, 2010 : Vol 26,
No.1 (January, 2013) Object-Oriented Cult :
Political Skeptic Bulletin, 2011 :
Vol 23, No.11 (November, 2011) Softpanorama classification
of sysadmin horror stories : Vol 25, No.05
(May, 2013) Corporate bullshit as a communication method :
Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000):
the triumph of the US computer engineering :
Donald Knuth : TAoCP
and its Influence of Computer Science : Richard Stallman
: Linus Torvalds :
Larry Wall :
John K. Ousterhout :
CTSS : Multix OS Unix
History : Unix shell history :
VI editor :
History of pipes concept :
Solaris : MS DOS
: Programming Languages History :
PL/1 : Simula 67 :
C :
History of GCC development :
Scripting Languages :
Perl history :
OS History : Mail :
DNS : SSH
: CPU Instruction Sets :
SPARC systems 1987-2006 :
Norton Commander :
Norton Utilities :
Norton Ghost :
Frontpage history :
Malware Defense History :
GNU Screen :
OSS early history
Classic books:
The Peter
Principle : Parkinson
Law : 1984 :
The Mythical Man-Month :
How to Solve It by George Polya :
The Art of Computer Programming :
The Elements of Programming Style :
The Unix Haters Handbook :
The Jargon file :
The True Believer :
Programming Pearls :
The Good Soldier Svejk :
The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society :
Ten Commandments
of the IT Slackers Society : Computer Humor Collection
: BSD Logo Story :
The Cuckoo's Egg :
IT Slang : C++ Humor
: ARE YOU A BBS ADDICT? :
The Perl Purity Test :
Object oriented programmers of all nations
: Financial Humor :
Financial Humor Bulletin,
2008 : Financial
Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related
Humor : Programming Language Humor :
Goldman Sachs related humor :
Greenspan humor : C Humor :
Scripting Humor :
Real Programmers Humor :
Web Humor : GPL-related Humor
: OFM Humor :
Politically Incorrect Humor :
IDS Humor :
"Linux Sucks" Humor : Russian
Musical Humor : Best Russian Programmer
Humor : Microsoft plans to buy Catholic Church
: Richard Stallman Related Humor :
Admin Humor : Perl-related
Humor : Linus Torvalds Related
humor : PseudoScience Related Humor :
Networking Humor :
Shell Humor :
Financial Humor Bulletin,
2011 : Financial
Humor Bulletin, 2012 :
Financial Humor Bulletin,
2013 : Java Humor : Software
Engineering Humor : Sun Solaris Related Humor :
Education Humor : IBM
Humor : Assembler-related Humor :
VIM Humor : Computer
Viruses Humor : Bright tomorrow is rescheduled
to a day after tomorrow : Classic Computer
Humor
The Last but not Least Technology is dominated by
two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt.
Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org
was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP)
without any remuneration. This document is an industrial compilation designed and created exclusively
for educational use and is distributed under the Softpanorama Content License.
Original materials copyright belong
to respective owners. Quotes are made for educational purposes only
in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains
copyrighted material the use of which has not always been specifically
authorized by the copyright owner. We are making such material available
to advance understanding of computer science, IT technology, economic, scientific, and social
issues. We believe this constitutes a 'fair use' of any such
copyrighted material as provided by section 107 of the US Copyright Law according to which
such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free)
site written by people for whom English is not a native language. Grammar and spelling errors should
be expected. The site contain some broken links as it develops like a living tree...
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or
referenced source) and are
not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness
of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be
tracked by Google please disable Javascript for this site. This site is perfectly usable without
Javascript.
Last modified: March, 29, 2020