|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
|May the source be with you, but remember the KISS principle ;-)|
|News||Recommended Links||vnc||Configuration||Fonts in the X Window System|
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
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
Monitor0, thus tying everything together.
5.4.1 Before Starting
Before 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 -configure
This 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.new
If 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 EndSection
The 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 EndSection
The DefaultDepth keyword describes the color depth to run at by default. This can be overridden with the
-depthcommand 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.conf
The 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 Topics
Note: 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.
126.96.36.199 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.188.8.131.52 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:
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 EndSection
Xorg 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 MHz
This 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" EndSection
Now having completed these simple editing steps, X should start on your new widescreen monitor.
The programs SaX2 and xorgconfig create the file
xorg.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 keyword
Section <designation>and ends with
EndSection. The sections have the form:Section designation entry 1 entry 2 entry n EndSection
The available section types are listed in Table 11.2, "Sections in /etc/X11/xorg.conf".
Table 11.2. Sections in /etc/X11/xorg.conf
This section describes the paths used for fonts and the RGB color table.
General switches are set here.
Input devices, like keyboards and special input devices (touchpads, joysticks, etc.), are configured in this section. Important parameters in this section are
Driverand the options defining the
Describes the monitor used. The individual elements of this section are the name, which is referred to later in the
bandwidth, and the synchronization frequency limits (
VertRefresh). Settings are given in MHz, kHz, and Hz. Normally, the server refuses any modeline that does not correspond with the specification of the monitor. This prevents too high frequencies from being sent to the monitor by accident.
The modeline parameters are stored here for the specific screen resolutions. These parameters can be calculated by SaX2 on the basis of the values given by the user and normally do not need to be changed. Intervene manually at this point, if, for example, you want to connect a fixed frequency monitor. Find details of the meaning of individual number values in the HOWTO file
This section defines a specific graphics card. It is referenced by its descriptive name.
This section puts together a
Deviceto form all the necessary settings for X.Org. In the
Displaysubsection, specify the size of the virtual screen (
ViewPort, and the
Modesused with this screen.
This section defines the layout of a single or multihead configuration. This section binds the input devices
InputDeviceand the display devices
Screenare explained in more detail below. Further information about the other sections can be found in the manual pages of
There can be several different11.2.1. Screen Section
xorg.conf. Even multiple
Screensections are possible. The following
ServerLayoutsection 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.confSection "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" Identifier "Screen" Monitor "Monitor" EndSection
Screen) gives this section a defined name with which it can be uniquely referenced in the following
ServerLayoutsection. The lines
Monitorspecify the graphics card and the monitor that belong to this definition. These are just links to the
Monitorsections with their corresponding names or identifiers. These sections are discussed in detail below.
DefaultDepthsetting to select the color depth the server should use unless it is started with a specific color depth. There is a
Displaysubsection for each color depth. The keyword
Depthassigns the color depth valid for this subsection. Possible values for
Depthare 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
Modessection. This list is checked by the X server from left to right. For each resolution, the X server searches for a suitable
Modelinedepends on the capability of both the monitor and the graphics card. The
Monitorsettings determine the resulting
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 the11.2.2. Device Section
Depth 16refers 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.confas you like, as long as their names are differentiated, using the keyword
Identifier. As a rule-if you have more than one graphics card installed-the sections are simply numbered in order. The first one is called
Device, the second one
Device, and so on. The following file shows an excerpt from the
Devicesection of a computer with a Matrox Millennium PCI graphics card:Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device" VendorName "Matrox" Option "sw_cursor" EndSection
If you use SaX2 for configuring, the device section should look something like the above example. Both the
BusIDare dependent on the hardware installed in your computer and are detected by SaX2 automatically. The
BusIDdefines 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.
Driverparameter, specify the driver to use for this graphics card. If the card is a Matrox Millennium, the driver module is called
mga. The X server then searches through the
ModulePathdefined in the
Filessection in the
driverssubdirectory. In a standard installation, this is the directory
_drv.ois added to the name, so, in the case of the
mgadriver, the driver file
The behavior of the X server or of the driver can also be influenced through additional options. An example of this is the option11.2.3. Monitor and Modes Section
sw_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 (man
Modessections describe one monitor each. The configuration file
/etc/X11/xorg.confcan contain as many
Monitorsections as desired. The server layout section specifies which
Monitorsection is relevant.
Monitor definitions should only be set by experienced users. The modelines constitute an important part of the
Monitorsections. Modelines set horizontal and vertical timings for the respective resolution. The monitor properties, especially the allowed frequencies, are stored in the
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 fontsexecutes 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 (man
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. Xft
From 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.confand 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
~/.fontsis already entered in
/etc/fonts/fonts.conf. Accordingly, all you need to do to install additional fonts is to copy them to
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 equivalent
monospace. 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.confto 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 file
The 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=200
Important parameters that can be queried with fc-list:
Parameter Meaning and Possible Values
Name of the font family, for example,
The manufacturer of the font, for example,
The font style, such as
The language that the font supports, for example,
zh-TWfor traditional Chinese, or
zh-CNfor simplified Chinese.
The font weight, such as
The slant, usually
0for none and
The name of the file containing the font.
truefor outline fonts,
falsefor other fonts.
truefor scalable fonts,
falsefor other fonts.
truefor bitmap fonts,
falsefor other fonts.
Font size in pixels. In connection with fc-list, this option only makes sense for bitmap fonts.
X11 Core Fonts
Today, 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.dirlists the available fonts in this directory. The FontPath is generated by the X server at start-up. It searches for a valid
fonts.dirfile in each of the
FontPathentries in the configuration file
/etc/X11/xorg.conf. These entries are found in the
Filessection. Display the actual FontPath with xset
q. 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
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 fontsis started from a shell that has access to the running X server. The easiest way to achieve this is to assume
rootpermissions 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 withCID-Keyed Fonts
iso10646-1in 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 as
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
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
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
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
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
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
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and 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 make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
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 author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: November 09, 2017