|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
News | Recommended Links | vnc | Configuration | Fonts in the X Window System |
Exporting_display | Xhost | Xdefaults | Humor | Etc |
|
If X is misconfigured to correct the configuration can be a real chore. Usually you need to know all the hardware specifications for your monitor and video card, which isn't always easy to gather. Nowadays, though, your distribution's installation program is generally able to autodetect the hardware and find the right settings.
|
The configuration is stored the file /etc/X11/xorg.conf for the X.Org server.
The configuration file is divided into sections. For example, the Module section specifies the modules to be loaded when the X Window System starts up. There can be more than one of a particular section type. In this configuration are two InputDevice sections, one for the keyboard and one for the mouse. Each section has an Identifier, used to reference the section from another section.
At the top of the file, the ServerLayout section ties together Screen0
, Mouse0
,
and Keyboard0
as the combination of hardware for the X server to manage. Then if you look
at the end of the file, you can see that Screen0
comprises the combination of Videocard0
and Monitor0
, thus tying everything together.
5.4.1 Before StartingBefore configuration of X11 the following information about the target system is needed:
- Monitor specifications
- Video Adapter chipset
- Video Adapter memory
The specifications for the monitor are used by X11 to determine the resolution and refresh rate to run at. These specifications can usually be obtained from the documentation that came with the monitor or from the manufacturer's website. There are two ranges of numbers that are needed, the horizontal scan rate and the vertical synchronization rate.
The video adapter's chipset defines what driver module X11 uses to talk to the graphics hardware. With most chipsets, this can be automatically determined, but it is still useful to know in case the automatic detection does not work correctly.
Video memory on the graphic adapter determines the resolution and color depth which the system can run at. This is important to know so the user knows the limitations of the system.
5.4.2 Configuring X11
Configuration of X11 is a multi-step process. The first step is to build an initial configuration file. As the super user, simply run:
# Xorg -configureThis will generate an X11 configuration skeleton file in the /root directory called xorg.conf.new (whether you su(1) or do a direct login affects the inherited supervisor $HOME directory variable). The X11 program will attempt to probe the graphics hardware on the system and write a configuration file to load the proper drivers for the detected hardware on the target system.
The next step is to test the existing configuration to verify that Xorg can work with the graphics hardware on the target system. To perform this task, type:
# Xorg -config xorg.conf.newIf a black and grey grid and an X mouse cursor appear, the configuration was successful. To exit the test, just press Ctrl+Alt+Backspace simultaneously.
Note: If the mouse does not work, you will need to first configure it before proceeding. See Section 2.10.10 in the FreeBSD install chapter.
Next, tune the xorg.conf.new configuration file to taste. Open the file in a text editor such as emacs(1) or ee(1). First, add the frequencies for the target system's monitor. These are usually expressed as a horizontal and vertical synchronization rate. These values are added to the xorg.conf.new file under the "Monitor" section:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSectionThe HorizSync and VertRefresh keywords may be missing in the configuration file. If they are, they need to be added, with the correct horizontal synchronization rate placed after the HorizSync keyword and the vertical synchronization rate after the VertRefresh keyword. In the example above the target monitor's rates were entered.
X allows DPMS (Energy Star) features to be used with capable monitors. The xset(1) program controls the time-outs and can force standby, suspend, or off modes. If you wish to enable DPMS features for your monitor, you must add the following line to the monitor section:
Option "DPMS"While the xorg.conf.new configuration file is still open in an editor, select the default resolution and color depth desired. This is defined in the "Screen" section:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSectionThe DefaultDepth keyword describes the color depth to run at by default. This can be overridden with the
-depth
command line switch to Xorg(1). The Modes keyword describes the resolution to run at for the given color depth. Note that only VESA standard modes are supported as defined by the target system's graphics hardware. In the example above, the default color depth is twenty-four bits per pixel. At this color depth, the accepted resolution is 1024 by 768 pixels.Finally, write the configuration file and test it using the test mode given above.
Note: One of the tools available to assist you during troubleshooting process are the X11 log files, which contain information on each device that the X11 server attaches to. Xorg log file names are in the format of /var/log/Xorg.0.log. The exact name of the log can vary from Xorg.0.log to Xorg.8.log and so forth.
If all is well, the configuration file needs to be installed in a common location where Xorg(1) can find it. This is typically /etc/X11/xorg.conf or /usr/local/etc/X11/xorg.conf.
# cp xorg.conf.new /etc/X11/xorg.confThe X11 configuration process is now complete. Xorg may be now started with the startx(1) utility. The X11 server may also be started with the use of xdm(1).
5.4.3 Advanced Configuration TopicsNote: There is also a graphical configuration tool, xorgcfg(1), which comes with the X11 distribution. It allows you to interactively define your configuration by choosing the appropriate drivers and settings. This program can be invoked from the console, by typing the command xorgcfg -textmode. For more details, refer to the xorgcfg(1) manual page.
Alternatively, there is also a tool called xorgconfig(1). This program is a console utility that is less user friendly, but it may work in situations where the other tools do not.
5.4.3.1 Configuration with Intel® i810 Graphics Chipsets
Configuration with Intel® i810 integrated chipsets requires the agpgart AGP programming interface for X11 to drive the card. See the agp(4) driver manual page for more information.
This will allow configuration of the hardware as any other graphics board. Note on systems without the agp(4) driver compiled in the kernel, trying to load the module with kldload(8) will not work. This driver has to be in the kernel at boot time through being compiled in or using /boot/loader.conf.
5.4.3.2 Adding a Widescreen Flatpanel to the Mix
This section assumes a bit of advanced configuration knowledge. If attempts to use the standard configuration tools above have not resulted in a working configuration, there is information enough in the log files to be of use in getting the setup working. Use of a text editor will be necessary.
Current widescreen (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et.al.) formats support 16:10 and 10:9 formats or aspect ratios that can be problematic. Examples of some common screen resolutions for 16:10 aspect ratios are:
- 2560x1600
- 1920x1200
- 1680x1050
- 1440x900
- 1280x800
At some point, it will be as easy as adding one of these resolutions as a possible Mode in the Section "Screen" as such:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSectionXorg is smart enough to pull the resolution information from the widescreen via I2C/DDC information so it knows what the monitor can handle as far as frequencies and resolutions.
If those ModeLines do not exist in the drivers, one might need to give Xorg a little hint. Using /var/log/Xorg.0.log one can extract enough information to manually create a ModeLine that will work. Simply look for information resembling this:
(II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHzThis information is called EDID information. Creating a ModeLine from this is just a matter of putting the numbers in the correct order:
ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>So that the ModeLine in Section "Monitor" for this example would look like this:
Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSectionNow having completed these simple editing steps, X should start on your new widescreen monitor.
The programs SaX2 and xorgconfig create the filexorg.conf
, by default in/etc/X11
. This is the primary configuration file for the X Window System. Find all the settings here concerning your graphics card, mouse, and monitor.The following paragraphs describe the structure of the configuration file
/etc/X11/xorg.conf
. It consists of several sections, each one dealing with a certain aspect of the configuration. Each section starts with the keywordSection <designation>
and ends withEndSection
. The sections have the form:Section designation entry 1 entry 2 entry n EndSectionThe available section types are listed in Table 11.2, "Sections in /etc/X11/xorg.conf".
Table 11.2. Sections in /etc/X11/xorg.conf
Monitor
,Device
, andScreen
are explained in more detail below. Further information about the other sections can be found in the manual pages ofX.Org
andxorg.conf
.There can be several different
11.2.1. Screen SectionMonitor
andDevice
sections inxorg.conf
. Even multipleScreen
sections are possible. The followingServerLayout
section determines which one is used.First, take a closer look at the screen section, which combines a monitor with a device section and determines the resolution and color depth to use. A screen section might resemble Example 11.1, "Screen Section of the File /etc/X11/xorg.conf".
Example 11.1. Screen Section of the File /etc/X11/xorg.conf
Section "Screen" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSectionThe line
Identifier
(hereScreen[0]
) gives this section a defined name with which it can be uniquely referenced in the followingServerLayout
section. The linesDevice
andMonitor
specify the graphics card and the monitor that belong to this definition. These are just links to theDevice
andMonitor
sections with their corresponding names or identifiers. These sections are discussed in detail below.Use the
DefaultDepth
setting to select the color depth the server should use unless it is started with a specific color depth. There is aDisplay
subsection for each color depth. The keywordDepth
assigns the color depth valid for this subsection. Possible values forDepth
are 8, 15, 16, and 24. Not all X server modules support all these values.After the color depth, a list of resolutions is set in the
Modes
section. This list is checked by the X server from left to right. For each resolution, the X server searches for a suitableModeline
in theModes
section. TheModeline
depends on the capability of both the monitor and the graphics card. TheMonitor
settings determine the resultingModeline
.The first resolution found is the
Default mode
. With Ctrl-Alt-+ (on the number pad), switch to the next resolution in the list to the right. With Ctrl-Alt-– (on the number pad), switch to the left. This enables you to vary the resolution while X is running.The last line of the
11.2.2. Device SectionDisplay
subsection withDepth 16
refers to the size of the virtual screen. The maximum possible size of a virtual screen depends on the amount of memory installed on the graphics card and the desired color depth, not on the maximum resolution of the monitor. Because modern graphics cards have a large amount of video memory, you can create very large virtual desktops. However, you may no longer be able to use 3D functionality if you fill most of the video memory with a virtual desktop. If the card has 16 MB video RAM, for example, the virtual screen can be up to 4096x4096 pixels in size at 8-bit color depth. Especially for accelerated cards, however, it is not recommended to use all your memory for the virtual screen, because this memory on the card is also used for several font and graphics caches.
A device section describes a specific graphics card. You can have as many device entries in
xorg.conf
as you like, as long as their names are differentiated, using the keywordIdentifier
. As a rule-if you have more than one graphics card installed-the sections are simply numbered in order. The first one is calledDevice[0]
, the second oneDevice[1]
, and so on. The following file shows an excerpt from theDevice
section of a computer with a Matrox Millennium PCI graphics card:Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSectionIf you use SaX2 for configuring, the device section should look something like the above example. Both the
Driver
andBusID
are dependent on the hardware installed in your computer and are detected by SaX2 automatically. TheBusID
defines the PCI or AGP slot in which the graphics card is installed. This matches the ID displayed by the command lspci. The X server needs details in decimal form, but lspci displays these in hexadecimal form.Via the
Driver
parameter, specify the driver to use for this graphics card. If the card is a Matrox Millennium, the driver module is calledmga
. The X server then searches through theModulePath
defined in theFiles
section in thedrivers
subdirectory. In a standard installation, this is the directory/usr/X11R6/lib/modules/drivers
._drv.o
is added to the name, so, in the case of themga
driver, the driver filemga_drv.o
is loaded.The behavior of the X server or of the driver can also be influenced through additional options. An example of this is the option
11.2.3. Monitor and Modes Sectionsw_cursor
, which is set in the device section. This deactivates the hardware mouse cursor and depicts the mouse cursor using software. Depending on the driver module, there are various options available, which can be found in the description files of the driver modules in the directory/usr/X11R6/lib/X11/doc
. Generally valid options can also be found in the manual pages (manxorg.conf
and manX.Org
).Like the
Device
sections, theMonitor
andModes
sections describe one monitor each. The configuration file/etc/X11/xorg.conf
can contain as manyMonitor
sections as desired. The server layout section specifies whichMonitor
section is relevant.Monitor definitions should only be set by experienced users. The modelines constitute an important part of the
Monitor
sections. Modelines set horizontal and vertical timings for the respective resolution. The monitor properties, especially the allowed frequencies, are stored in theMonitor
section.
Warning Unless you have an in-depth knowledge of monitor and graphics card functions, nothing should be changed in the modelines, because this could cause severe damage to your monitor. Those who try to develop their own monitor descriptions should be very familiar with the documentation in
/usr/X11/lib/X11/doc
. The section covering the video modes deserves a special mention. It describes, in detail, how the hardware functions and how to create modelines.Manual specification of modelines is rarely required today. If you are using a modern multisync monitor, the allowed frequencies and optimal resolutions can, as a rule, be read directly from the monitor by the X server via DDC, as described in the SaX2 configuration section. If this is not possible for some reason, use one of the VESA modes included in the X server. This will function with practically all graphics card and monitor combinations.
11.3. Installing and Configuring Fonts
The installation of additional fonts in SUSE LINUX is very easy. Simply copy the fonts to any directory located in the X11 font path (see Section 11.3.2, "X11 Core Fonts"). To enable use of the fonts with the new xft font rendering system, the installation directory should be a subdirectory of the directories configured in
/etc/fonts/fonts.conf
(see Section 11.3.1, "Xft").The font files can be copied manually (as
root
) to a suitable directory, such as/usr/X11R6/lib/X11/fonts/truetype
. Alternatively, the task can be performed with the KDE font installer in the KDE Control Center. The result is the same.Instead of copying the actual fonts, you can also create symbolic links. For example, you may want to do this if you have licensed fonts on a mounted Windows partition and want to use them. Subsequently, run SuSEconfig
--module fonts
.SuSEconfig
--module fonts
executes the script/usr/sbin/fonts-config
, which handles the configuration of the fonts. To see what this script does, refer to the manual page of the script (manfonts-config
).The procedure is the same for bitmap fonts, TrueType and OpenType fonts, and Type1 (PostScript) fonts. All these font types can be installed in any directory. Only CID-keyed fonts require a slightly different procedure. For this, see Section 11.3.3, "CID-Keyed Fonts".
X.Org contains two completely different font systems: the old X11 core font system and the newly designed Xft and fontconfig system. The following sections briefly describe these two systems.
11.3.1. XftFrom the outset, the programmers of Xft made sure that scalable fonts including antialiasing are supported well. If Xft is used, the fonts are rendered by the application using the fonts, not by the X server as in the X11 core font system. In this way, the respective application has access to the actual font files and full control of how the glyphs are rendered. This constitutes the basis for the correct display of text in a number of languages. Direct access to the font files is very useful for embedding fonts for printing to make sure that the printout looks the same as the screen output.
In SUSE LINUX, the two desktop environments KDE and GNOME, Mozilla, and many other applications already use Xft by default. Xft is already used by more applications than the old X11 core font system.
Xft uses the fontconfig library for finding fonts and influencing how they are rendered. The properties of fontconfig are controlled by the global configuration file
/etc/fonts/fonts.conf
and the user-specific configuration file~/.fonts.conf
. Each of these fontconfig configuration files must begin with<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>and end with
</fontconfig>To add directories to search for fonts, append lines such as the following:
<dir>/usr/local/share/fonts/</dir>However, this is usually not necessary. By default, the user-specific directory
~/.fonts
is already entered in/etc/fonts/fonts.conf
. Accordingly, all you need to do to install additional fonts is to copy them to~/.fonts
.You can also insert rules that influence the appearance of the fonts. For example, enter
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>to disable antialiasing for all fonts or
<match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>to disable antialiasing for specific fonts.
By default, most applications use the font names
sans-serif
(or the equivalentsans
),serif
, ormonospace
. These are not real fonts but only aliases that are resolved to a suitable font, depending on the language setting.Users can easily add rules to
~/.fonts.conf
to resolve these aliases to their favorite fonts:<alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias>Because nearly all applications use these aliases by default, this affects almost the entire system. Thus, you can easily use your favorite fonts almost everywhere without having to modify the font settings in the individual applications.
Use the command fc-list to find out which fonts are installed and available for use. For instance, the command fc-list
""
returns a list of all fonts. To find out which of the available scalable fonts (:outline=true
) contain all glyphs required for Hebrew (:lang=he
), their font names (family
), their style (style
), their weight (weight
), and the name of the files containing the fonts, enter the following command:fc-list ":lang=he:outline=true" family style weight fileThe output of this command could appear as follows:
/usr/X11R6/lib/X11/fonts/truetype/FreeSansBold.ttf: FreeSans:style=Bold:weight=200 /usr/X11R6/lib/X11/fonts/truetype/FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200 /usr/X11R6/lib/X11/fonts/truetype/FreeSerif.ttf: FreeSerif:style=Medium:weight=80 /usr/X11R6/lib/X11/fonts/truetype/FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200 /usr/X11R6/lib/X11/fonts/truetype/FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80 /usr/X11R6/lib/X11/fonts/truetype/FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80 /usr/X11R6/lib/X11/fonts/truetype/FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80 /usr/X11R6/lib/X11/fonts/truetype/FreeMono.ttf: FreeMono:style=Medium:weight=80 /usr/X11R6/lib/X11/fonts/truetype/FreeSans.ttf: FreeSans:style=Medium:weight=80 /usr/X11R6/lib/X11/fonts/truetype/FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200 /usr/X11R6/lib/X11/fonts/truetype/FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200 /usr/X11R6/lib/X11/fonts/truetype/FreeMonoBold.ttf: FreeMono:style=Bold:weight=200Important parameters that can be queried with fc-list:
Parameter Meaning and Possible Values family
Name of the font family, for example, FreeSans
.foundry
The manufacturer of the font, for example, urw
.style
The font style, such as Medium
,Regular
,Bold
,Italic
,Heavy
.lang
The language that the font supports, for example, de
for German,ja
for Japanese,zh-TW
for traditional Chinese, orzh-CN
for simplified Chinese.weight
The font weight, such as 80
for regular,200
for bold.slant
The slant, usually 0
for none and100
for italic.file
The name of the file containing the font. outline
true
for outline fonts,false
for other fonts.scalable
true
for scalable fonts,false
for other fonts.bitmap
true
for bitmap fonts,false
for other fonts.pixelsize
Font size in pixels. In connection with fc-list, this option only makes sense for bitmap fonts.
X11 Core FontsToday, the X11 core font system supports not only bitmap fonts but also scalable fonts, like Type1 fonts, TrueType and OpenType fonts, and CID-keyed fonts. Unicode fonts have also been supported for quite some time. In 1987, the X11 core font system was originally developed for X11R1 for the purpose of processing monochrome bitmap fonts. All extensions mentioned above were added later.
Scalable fonts are only supported without antialiasing and subpixel rendering and the loading of large scalable fonts with glyphs for many languages may take a long time. The use of Unicode fonts may also be slow and requires more memory.
The X11 core font system has a few inherent weaknesses. It is outdated and can no longer be extended in a meaningful fashion. Although it must be retained for reasons of backward compatibility, the more modern Xft and fontconfig system should be used if at all possible.
For its operation, the X server needs to know what fonts it has available and where in the system it can find them. This is handled by a FontPath variable, which contains the path to all valid system font directories. In each of these directories, a file named
fonts.dir
lists the available fonts in this directory. The FontPath is generated by the X server at start-up. It searches for a validfonts.dir
file in each of theFontPath
entries in the configuration file/etc/X11/xorg.conf
. These entries are found in theFiles
section. Display the actual FontPath with xsetq
. This path may also be changed at runtime with xset. To add an additional path, use xset+fp <path>
. To remove an unwanted path, use xset-fp <path>
.If the X server is already active, newly installed fonts in mounted directories can be made available with the command xset
fp rehash
. This command is executed by SuSEconfig--module fonts
. Because the command xset needs access to the running X server, this only works if SuSEconfig--module fonts
is started from a shell that has access to the running X server. The easiest way to achieve this is to assumeroot
permissions by entering su and the root password. su transfers the access permissions of the user who started the X server to the root shell. To check if the fonts were installed correctly and are available by way of the X11 core font system, use the command xlsfonts to list all available fonts.By default, SUSE LINUX uses UTF-8 locales. Therefore, Unicode fonts should be preferred (font names ending with
CID-Keyed Fontsiso10646-1
in xlsfonts output). All available Unicode fonts can be listed with xlsfonts| grep iso10646-1
. Nearly all Unicode fonts available in SUSE LINUX contain at least the glyphs needed for European languages (formerly encoded asiso-8859-*
).
In contrast to the other font types, you cannot simply install CID-keyed fonts in just any directory. CID-keyed fonts must be installed in
/usr/share/ghostscript/Resource/CIDFont
. This is not relevant for Xft and fontconfig, but it is necessary for Ghostscript and the X11 core font system.
Tip See http://www.xfree86.org/current/fonts.html for more
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 Hater’s 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...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
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 12, 2019