# HG changeset patch # User Oleksandr Gavenko # Date 1456002780 -7200 # Node ID 2e3bc2435d684912bd26b5185fffa57167b2d84d # Parent da0024f4f068f84a400d2e49ea4e74805c634f5f Convert all files from TXT to RST. diff -r da0024f4f068 -r 2e3bc2435d68 about-uri.rst --- a/about-uri.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* about. - -See - - http://en.wikipedia.org/wiki/About:_URI_scheme - -* Firefox. - - about: - same page as "Help -> About" - about:blank - blank page, useful for setting as your home page - about:buildconfig - show your Mozilla build options - about:cache - displays cache statistics and disk cache directory location - about:config - GUI for modifying user preferences - about:crashes - crash reports - about:credits - list of contributors to the Mozilla projects - about:licence - show product licences - about:licence - show product licences - about:logo - application logo - about:memory - memory usage (since Firefox 3.6) - about:mozilla - easter eggs - "Book of Mozilla" - about:neterror - about:plugins - lists all your plugins as well as other useful information - about:rights - your rights - about:robots - easter egg (since 2008-03-08 trunk builds) - about:sessionrestore - interface for viewing about last session - about:support - same page as "Help -> Troubleshooting information" (since Firefox 3.6) - -See - - http://kb.mozillazine.org/About_protocol_links diff -r da0024f4f068 -r 2e3bc2435d68 apache.rst --- a/apache.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* How reread config file? - -For Linux - - $ /etc/init.d/apache2 restart - -or for FreeBSD - - $ /usr/local/etc/rc.d/apache2 restart - - diff -r da0024f4f068 -r 2e3bc2435d68 archive.rst --- a/archive.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* How crack password archive? - - $ rarcrack archive.ext [--threads thread_num] [--type rar|zip|7z] - -See - - http://rarcrack.sourceforge.net/ diff -r da0024f4f068 -r 2e3bc2435d68 at.rst --- a/at.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Spec. - -** Nokia AT command spec. - - http://wiki.forum.nokia.com/index.php/Category:AT_Command - http://www.forum.nokia.com/info/sw.nokia.com/id/95672052-6c77-488d-a055-acef77e4cdc5/AT_Command_Set_For_Nokia_GSM_And_WCDMA_Products_v1_2_en.pdf.html - AT Command Set For Nokia GSM And WCDMA Products v1.2 - - -** Motorola AT command spec. - - http://developer.motorola.com/docstools/developerguides/AT_Commands_Ref.pdf/ - http://developer.motorola.com/docstools/developerguides/C24_AT_Commands.pdf/ - http://developer.motorola.com/docstools/developerguides/G24-Lite_AT_Commands_Reference_Manual.pdf/ - http://developer.motorola.com/docstools/developerguides/G24_AT_Commands_Developer_Guide.pdf/ - http://developer.motorola.com/docstools/developerguides/iO270_Developer_Guide.pdf/ - diff -r da0024f4f068 -r 2e3bc2435d68 atom.rst --- a/atom.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* About Atom. - - http://www.ibm.com/developerworks/xml/library/x-atom10.html - An overview of the Atom 1.0 Syndication Format - -* About Atom Publishing Protocol. - - http://www.ibm.com/developerworks/library/x-atompp1/ - Getting to know the Atom Publishing Protocol, Part 1: Create - and edit Web resources with the Atom Publishing Protocol - http://www.ibm.com/developerworks/xml/library/x-atompp2/index.html - Getting to know the Atom Publishing Protocol, Part 2: Put the - Atom Publishing Protocol (APP) to work - http://www.ibm.com/developerworks/xml/library/x-atompp3/index.html - Getting to know the Atom Publishing Protocol, Part 3: - Introducing the Apache Abdera project diff -r da0024f4f068 -r 2e3bc2435d68 auto-proof.rst --- a/auto-proof.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* Info/links. - -See - - http://en.wikipedia.org/wiki/Automated_theorem_proving - - -* proofgeneral. - - $ sudo apt-get install proofgeneral - $ sudo apt-get install proofgeneral-coq - $ sudo apt-get install proofgeneral-misc - $ sudo apt-get install proofgeneral-doc - $ sudo apt-get install proofgeneral-minlog - -or build from source: - - $ make clean - $ make compile EMACS=xemacs - $ cat ~/.emacs -... -(load-file "dir/generic/proof-site.el") -... - -See - - http://proofgeneral.inf.ed.ac.uk/ - -* Isabelle. - -Isabelle is a generic proof assistant. - -It allows mathematical formulas to be expressed in a formal language and -provides tools for proving those formulas in a logical calculus. The main -application is the formalization of mathematical proofs and in particular -formal verification, which includes proving the correctness of computer -hardware or software and proving properties of computer languages and -protocols. - -See - - http://isabelle.in.tum.de/overview.html - http://en.wikipedia.org/wiki/Isabelle_(theorem_prover) - -* IsarMathLib. - -The goal of the project is to create a library of formalized mathematics, -similar to the Mizar Mathematical Library, but written for the Isabelle/Isar -theorem prover (ZF logic). - -See - - http://savannah.nongnu.org/projects/isarmathlib - http://lists.nongnu.org/mailman/listinfo/isarmathlib-devel - -** http://isarmathlib.org/ - -This site is an experimental HTML rendering of fragments of the IsarMathLib -project. IsarMathLib is a library of mathematical proofs formally verified by -the Isabelle theorem proving environment. The formalization is based on the -Zermelo-Fraenkel set theory. - -** Tiddly Formal Math. - -This site is an experimental TiddlyWiki rendering of fragments of the -IsarMathLib project. IsarMathLib is a library of mathematical proofs formally -verified by the Isabelle theorem proving environment. The formalization is -based on the Zermelo-Fraenkel set theory. - -See - - http://formalmath.tiddlyspot.com/ - -* HOL Light. - -HOL Light is a computer program to help users prove interesting mathematical -theorems completely formally in higher order logic. It sets a very exacting -standard of correctness, but provides a number of automated tools and -pre-proved mathematical theorems (e.g. about arithmetic, basic set theory and -real analysis) to save the user work. It is also fully programmable, so users -can extend it with new theorems and inference rules without compromising its -soundness. - -Ocalm. - -See - - http://www.cl.cam.ac.uk/~jrh13/hol-light/index.html - -* ACL2. - -ACL2 (A Computational Logic for Applicative Common Lisp) is a software system -consisting of a programming language, an extensible theory in a first-order -logic, and a mechanical theorem prover. ACL2 is designed to support automated -reasoning in inductive logical theories, mostly for the purpose of software -and hardware verification. The input language and implementation of ACL2 are -built on Common Lisp. ACL2 is free, open source (GPL) software. - - $ sudo apt-get install acl2 - -See - - http://www.cs.utexas.edu/users/moore/acl2/ - http://en.wikipedia.org/wiki/ACL2 - -* PVS Specification and Verification System - -Old (1992). Many article in 199x. - -The system is implemented in Common Lisp, and is released under the GNU -General Public License (GPL). - -See - - http://pvs.csl.sri.com/ - http://en.wikipedia.org/wiki/Prototype_Verification_System - http://www-formal.stanford.edu/clt/ARS/Entries/pvs - -* The TPTP Problem Library for Automated Theorem Proving. - -The TPTP (Thousands of Problems for Theorem Provers) is a library of test -problems for automated theorem proving (ATP) systems. The TPTP supplies the -ATP community with: - - * A comprehensive library of the ATP test problems that are available today, - in order to provide an overview and a simple, unambiguous reference - mechanism. - * A comprehensive list of references and other interesting information for - each problem. - * Arbitrary size instances of generic problems (e.g., the N-queens problem). - * A utility to convert the problems to existing ATP systems' formats. - * General guidelines outlining the requirements for ATP system evaluation. - * Standards for input and output for ATP systems. - -The principal motivation for the TPTP is to support the testing and evaluation -of ATP systems, to help ensure that performance results accurately reflect the -capabilities of the ATP system being considered. A common library of problems -is necessary for meaningful system evaluations, meaningful system comparisons, -repeatability of testing, and the production of statistically significant -results. The TPTP is such a library. - -See - - http://www.cs.miami.edu/~tptp/ - -* SPASS. - -An Automated Theorem Prover for First-Order Logic with Equality. - -See - - http://www.spass-prover.org/index.html - -* Competition. - -See - - http://www.cs.miami.edu/~tptp/CASC/ - http://www.cs.albany.edu/~nvm/cade.html - -* Conference. - -IJCAR is a series of conferences on the topics of automated reasoning, -automated deduction, and related fields. It is organized semi-regularly as a -merger of other meetings. IJCAR replaces those independent conferences in the -years it takes place. The conference is organized by CADE Inc., and CADE has -always been one of the conferences partaking in IJCAR. - -See - - http://www.ijcar.org/ - http://en.wikipedia.org/wiki/International_Joint_Conference_on_Automated_Reasoning - -* Top 100. - - http://www.cs.ru.nl/~freek/100/ - (winner) - http://personal.stevens.edu/~nkahl/Top100Theorems.html - (orig list) - http://www.cse.unsw.edu.au/~kleing/top100/#5 - (Isabelle) diff -r da0024f4f068 -r 2e3bc2435d68 auto-reboot.rst --- a/auto-reboot.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ --*- mode: outline; coding: windows-1251 -*- - -* login/logout . - - - %SystemRoot%\system32\GroupPolicy\User\Scripts - \Logoff - \Logon - -* . - - : - " ."->" ."->" ." - ->" : ..."->"." - Windows 2000. - -* . - -** . - - 1. -> -> control userpasswords2 OK. - . - 2. - Windows ( - - ) -" ", - ( ) OK. - -** . - - 1. -> -> regedit . - 2. : - - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon - - 3. DefaultUserName ( , - ), OK. - 4. DefaultPassword, OK. - 5. AutoAdminLogon, 1 OK. - - . , - : - - - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon - - * AutoAdminLogon 1 - * DefaultUserName - - * DefaultDomainName - * DefaultPassword - - - - , , (REG_SZ). - -* How to Exit Windows 98/Me Automatically Using a Batch File. - -You can use either of the following commands in a batch file to restart Windows 98/Me automatically: - runonce.exe -q - rundll32.exe shell32.dll,SHExitWindowsEx n -where n is one, or a combination of, the following numbers: - - 0 - LOGOFF - 1 - SHUTDOWN - 2 - REBOOT - 4 - FORCE - 8 - POWEROFF - The above options can be combined into one value to achieve different results. For -example, to restart Windows forcefully, without querying any running programs, use the -following command line: - - rundll32.exe shell32.dll,SHExitWindowsEx 6 - diff -r da0024f4f068 -r 2e3bc2435d68 autotools.rst --- a/autotools.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Regenerate all autotools confetti. - - $ autoreconf - diff -r da0024f4f068 -r 2e3bc2435d68 binary-size.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/binary-size.rst Sat Feb 20 23:13:00 2016 +0200 @@ -0,0 +1,50 @@ +.. -*- coding: utf-8; -*- +.. include:: HEADER.rst + +=========================== + Reducing binary code size +=========================== +.. contents:: + +Common receipt +============== + +Configure build with disabling unused features e.g.:: + + $ ./configure --without-png + +Link dynamically instead statically (on your platform shared library may be +already present). + +Avoid debug build. Make release/final build instead debug. + +Use packers. Packer compress binary so binary smaller. When program load +decompress itself, so startup time increase. + +Binary packers:: + + http://upx.sourceforge.net + Home page. + +GCC +====== + +Use ``-Os`` when produces ``*.o`` files. + +Use ``-s`` when produces executable. And ``--remove-section=.comment`` and +``--remove-section=.note"``. + +Use:: + + $ strip --strip-all + +and:: + + $ gcc -ffunction-sections -fdata-sections -c -o my.o my.c + $ gcc -Wl,--gc-sections -o my my.o + +MSVC +==== + +Use ``/Os`` when produces ``*.obj`` files. + diff -r da0024f4f068 -r 2e3bc2435d68 binary.rst --- a/binary.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Caller vs callee. - -If routine A calls routine B then routine A is the caller and routine B is the -callee. i.e. the caller is the routine which is calling the callee. - -The routine that initiates the call is the caller and the routine that is -being called is is the callee. - -* Argument vs parameter. - -From the perspective of the caller the thing which is passed is an argument. -From the perspective of the routine that receives the call, i.e. the callee, -the thing which is passed is a parameter. - -* Linkage convention. - -A linkage convention is computing term that means an agreement which is made -between a caller and a callee. The agreement describes: - - - how the caller should pass parameters to the callee - - - what assumptions the callee is allowed to make about the values in the - machine registers at the moment of the call - - - who should preserve registers which are modified by the callee and/or which - are important to the caller so that their original values are available - when the caller needs them - - - how and where registers should be preserved - - - how the callee knows where to return to when it is ready to return to the - caller - - - how the callee returns a value to the caller if the routine is a function - (as opposed to a subroutine which has no return value) - - - how a debugger will find the information necessary to obtain a stack trace diff -r da0024f4f068 -r 2e3bc2435d68 blog.rst --- a/blog.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,228 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* Blogspot. - - http://code.google.com/apis/blogger/ - The Blogger Data API - http://code.blogger.com/ - Developer Documentation (API/Gadget/Layouts) - -** Blogspot mobile version. - - http://BLOGNAME.blogspot.com/?m=1 - -** Blogspot and Emacs. - - http://code.google.com/p/e-blog/ - -* Feed. - -** Blogspot. - -See - - http://www.google.com/support/webmasters/bin/answer.py?answer=71188 - http://www.google.com/support/blogger/bin/answer.py?answer=97933 - -*** Article feed. - - * Atom 1.0: http://BLOGNAME.blogspot.com/feeds/posts/default - * RSS 2.0: http://BLOGNAME.blogspot.com/feeds/posts/default?alt=rss - * Atom 1.0: http://BLOGNAME.blogspot.com/atom.xml - * RSS 2.0: http://BLOGNAME.blogspot.com/rss.xml - -*** Comments-only feed. - - * Atom 1.0: http://BLOGNAME.blogspot.com/feeds/comments/default - * RSS 2.0: http://BLOGNAME.blogspot.com/feeds/comments/default?alt=rss - -*** Label-specific site feed. - - * Atom 1.0: http://BLOGNAME.blogspot.com/feeds/posts/default/-/labelname - * RSS 2.0: http://BLOGNAME.blogspot.com/feeds/posts/default?alt=rss/-/labelname - -*** Individual post comment feed. - - * Atom 1.0: http://BLOGNAME.blogspot.com/feeds/postId/comments/default - * RSS 2.0: http://BLOGNAME.blogspot.com/feeds/postId/comments/default?alt=rss - -** Livejornal. - -See - - http://www.livejournal.com/support/faqbrowse.bml?faqid=149 - -*** Journal Feed URLs. - - * Atom: http://NAME.livejournal.com/data/atom - * RSS: http://NAME.livejournal.com/data/rss - -*** Community Feed URLs. - - * Atom: http://community.livejournal.com/NAME/data/atom - * RSS: http://community.livejournal.com/NAME/data/rss - -*** Tagged Entries. - -View entries with a specific tag by adding ?tag=tagname to the end of the feed -URL, replacing tagname with the actual tag name. If you want to view two or -more tags at once, separate the tags with commas: ?tag=tag1,tag2. - -** Wordpress. - -See - - http://support.wordpress.com/email-subscriptions/ - http://codex.wordpress.org/WordPress_Feeds - -*** Articles feed. - - http://BLOGNAME.wordpress.com/feed - http://BLOGNAME.wordpress.com/feed/ - http://BLOGNAME.wordpress.com/feed/rss/ - http://BLOGNAME.wordpress.com/feed/rss2/ - http://BLOGNAME.wordpress.com/feed/rdf/ - http://BLOGNAME.wordpress.com/feed/atom/ - http://BLOGNAME.wordpress.com/?feed=rss - http://BLOGNAME.wordpress.com/?feed=rss2 - http://BLOGNAME.wordpress.com/?feed=rdf - http://BLOGNAME.wordpress.com/?feed=atom - -*** Comments feed. - - http://BLOGNAME.wordpress.com/comments/feed/ - http://BLOGNAME.wordpress.com/?feed=comments-rss2 - -*** Tagged Entries. - - http://BLOGNAME.wordpress.com/category/TAG/feed/ - http://BLOGNAME.wordpress.com/tag/TAG/feed/ - http://BLOGNAME.wordpress.com/?cat=CATNUMBER&feed=rss2 - http://BLOGNAME.wordpress.com/?tag=TAG&feed=rss2 - -* Blog engine. - -** Wordpress. - -WordPress is a state-of-the-art publishing platform with a focus on -aesthetics, web standards, and usability. WordPress is both free and priceless -at the same time. - -** Movable Type. - - http://www.movabletype.com/download/ - Movable Type Download - http://www.movabletype.org/documentation/ - Movable Type Documentation - http://www.sixapart.com/movabletype/docs/ - Old Movable Type Documentation - http://www.movabletype.org/documentation/developer/ - Movable Type Developer Guide - http://www.movabletype.org/documentation/developer/api/ - Web Service APIs - -** LiveJournal. - - http://www.livejournal.com/doc/server/ljp.csp.xml-rpc.protocol.html - XML-RPC Client/Server Protocol Reference - http://www.livejournal.com/developer/ - Developer Information - -** Byteflow. - -Byteflow is a blog engine written in Python using Django. - - http://byteflow.su/ - -* Blog services. - -** Cost-free blog services. - - * Blogspot. - * Livejornal. - * Wordpress. - * LiveInternet.ru - -** Commercial blog services. - - * TypePad. - - http://www.typepad.com/ - -* Blog API. - -** Blogger API (old Blogger API or version 1.0). - -Supported engines: Blogger. - -*** Spec. - - http://www.blogger.com/developers/api/ - -** MetaWeblog API. - -Based on XML-RPC. - -Supported engines: WordPress, LiveInternet. - - http://codex.wordpress.org/XML-RPC_Support - XML-RPC Support - http://wiki.liveinternet.ru/ServisDnevnikovLiveInternet/InterfejjsyVzaimodejjstvija/MetaWeblogAPI?v=15qg - MetaWeblog API - -*** Spec. - - http://www.xmlrpc.com/metaWeblogApi - -** MovableType API. - -Based on XML-RPC. - -Supported engines: WordPress, LiveInternet. - - http://codex.wordpress.org/XML-RPC_Support - XML-RPC Support - http://mindsharestrategy.com/wp-xmlrpc-movabletype/ - WordPress XML-RPC — MovableType API - http://wiki.liveinternet.ru/ServisDnevnikovLiveInternet/InterfejjsyVzaimodejjstvija/MovableTypeAPI - MovableType API -*** Spec. - - http://www.sixapart.com/developers/xmlrpc/movable_type_api/ - -** Atom Publishing Protocol (AtomPub). - -Supported engines: Blogger (Blogger API v2.0), WordPress (since version 2.3). - - http://codex.wordpress.org/AtomPub - -** WordPress API. - -This is an extensions to the Movable Type API. - -Supported engines: WordPress only. - -*** Spec. - - http://codex.wordpress.org/XML-RPC_wp - -* After the jump/Read More. - -It's a holdover from newspaper pagination lingo. A story begun on page one might -be longer than the space available, so a "See page #" is added at the end of the -first page and the article continues on another. The continuation is referred to -as the "jump". - -Blogs usually allow you to separate a post into two parts, one an excerpt that -gets posted to the main page and to RSS, and the other a continuation with the -main text of the article. 'After the jump' usually refers to the part that you -see after you click 'Read more...'. "Below the fold" means the same thing on -some sites. - - http://www.google.com/support/blogger/bin/answer.py?answer=154172 - Creating 'After the jump' summaries - http://codex.wordpress.org/Customizing_the_Read_More - Customizing the Read More - http://www.livejournal.com/support/faqbrowse.bml?faqid=75 - How do I hide part of my entry behind a link? What is an lj-cut? - diff -r da0024f4f068 -r 2e3bc2435d68 bluetooth.rst --- a/bluetooth.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* Specification. - - http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx - download page - http://en.wikipedia.org/wiki/Bluetooth_profile - -* Debian. - - $ sudo apt-get install bluetooth - $ sudo apt-get install bluez-utils - -* BlueZ. - -BlueZ is official Linux Bluetooth protocol stack. - -** How find local bluetooth device? - - $ hcitool dev -Devices: - hci0 00:03:C9:05:65:98 - hci1 00:1F:81:00:02:5A - -or (hciconfig placed in /usr/sbin, so see you PATH!) - - $ hciconfig -a -hci0: Type: USB - BD Address: 00:03:C9:05:65:98 ACL MTU: 1017:8 SCO MTU: 64:0 - UP RUNNING PSCAN - RX bytes:2517 acl:12 sco:0 events:64 errors:0 - TX bytes:756 acl:12 sco:0 commands:33 errors:0 - Features: 0xff 0xff 0x8d 0xfe 0x9b 0xfd 0x00 0x80 - Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 - Link policy: RSWITCH HOLD SNIFF PARK - Link mode: SLAVE ACCEPT - Name: 'desktop-0' - Class: 0x3e0100 - Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio - Device Class: Computer, Uncategorized - HCI Ver: 2.0 (0x3) HCI Rev: 0x2000 LMP Ver: 2.0 (0x3) LMP Subver: 0x415c - Manufacturer: Broadcom Corporation (15) - -hci1: Type: USB - BD Address: 00:1F:81:00:02:5A ACL MTU: 339:6 SCO MTU: 180:1 - UP RUNNING PSCAN - RX bytes:398 acl:0 sco:0 events:18 errors:0 - TX bytes:317 acl:0 sco:0 commands:17 errors:0 - Features: 0xef 0x3e 0x09 0xf0 0x0b 0x08 0x00 0x00 - Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 - Link policy: RSWITCH HOLD SNIFF PARK - Link mode: SLAVE ACCEPT - Name: 'desktop-1' - Class: 0x3e0100 - Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio - Device Class: Computer, Uncategorized - HCI Ver: 1.2 (0x2) HCI Rev: 0x2 LMP Ver: 1.2 (0x2) LMP Subver: 0x2 - Manufacturer: not assigned (74) - -** How find remote bluetooth device? - - $ hcitool scan -Scanning ... - 00:22:66:D1:B7:20 Nokia 5320 - -In order to do this remote device must be set "visible". - -** How to set bluetooth dongle "visible"? - - $ hciconfig -a | grep hci.: -hci0: Type: USB - $ sudo hciconfig hci0 piscan - -** How to determine bluetooth dongle is "visible"? - -Run hciconfig -a and see for PSCAN and ISCAN keyword: - - $ hciconfig -a -hci0: Type: USB -... - UP RUNNING PSCAN ISCAN -... - -then try from another host: - - $ hcitool scan - -or use another device such as phone to search. - -** What version of Bluetooth support local device? - -HCI (Host/Controller Interface), LMP (Link Management Protocol). - - $ sudo hciconfig -a -hci0: Type: USB -... - HCI Ver: 2.0 (0x3) HCI Rev: 0x2000 LMP Ver: 2.0 (0x3) LMP Subver: 0x415c -... -hci1: Type: USB -... - HCI Ver: 1.2 (0x2) HCI Rev: 0x2 LMP Ver: 1.2 (0x2) LMP Subver: 0x2 -... - -** What version of Bluetooth support remote device? - - $ hcitool info 00:22:66:D1:B7:20 | grep LPM -LPM Version: 2.0 (0x3) LPM Subversion: 0x7a6 - -** What support remote device? - - $ sudo sdptool browse 00:22:66:D1:B7:20 - -Browsing 00:22:66:D1:B7:20 ... -Service Name: AVRCP Target -Service Description: Audio Video Remote Control -Service Provider: Symbian Software Ltd. -Service RecHandle: 0x10000 -Service Class ID List: - "AV Remote Target" (0x110c) -Protocol Descriptor List: - "L2CAP" (0x0100) - PSM: 23 - "AVCTP" (0x0017) - uint16: 0x100 -Profile Descriptor List: - "AV Remote" (0x110e) - Version: 0x0100 -... - -00:1b:52:a8:f6:96 - - -See - - http://www.bluez.org/ - bluez home page - -* Remote control throw mobile. - - http://anyremote.sourceforge.net/docs.html - -* Spec. - -See - - http://www.bluetooth.com/Bluetooth/Technology/Building/Specifications/ - -* Bluetooth on Windows. - -'bthprops.cpl' used for administrating Bluetooth device in Windows XP. - -'ipconfig' used for see assigned IP address by PAN (Personal Area Networking). - -'telephon.cpl' used to add modem. - -'fsquirt.exe' used to send/recive file. - - http://support.microsoft.com/kb/883259 - How to install and configure Bluetooth devices in Windows XP Service Pack 2 - http://support.microsoft.com/kb/841803 - List of Bluetooth radio drivers that are included in Windows XP SP2 diff -r da0024f4f068 -r 2e3bc2435d68 bnf.rst --- a/bnf.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* What is BNF? - -BNF is an acronym for "Backus Naur Form". John Backus and Peter Naur -introduced for the first time a formal notation to describe the syntax of a -given language (ALGOL 60 programming language). - - rfc2234 - -* BNF syntax. - -The meta-symbols of BNF are: - - ::= - meaning "is defined as" - | - meaning "or" - < > - angle brackets used to surround category names (some times skipped). - [ ] - optional items are enclosed in. - { } - repetitive items (zero or more times) are enclosed in. - " " - terminals are enclosed in to distinguish them from meta-symbols. - -* BNF in BNF. - - syntax ::= { rule } - rule ::= identifier "::=" expression - expression ::= term { "|" term } - term ::= factor { factor } - factor ::= identifier | - quoted_symbol | - "(" expression ")" | - "[" expression "]" | - "{" expression "}" - identifier ::= letter { letter | digit } - quoted_symbol ::= """ { any_character } """ diff -r da0024f4f068 -r 2e3bc2435d68 cat.rst --- a/cat.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* CAT. - -Computer-assisted translation, computer-aided translation, or CAT is a form of -translation wherein a human translator translates texts using computer -software designed to support and facilitate the translation process. - - http://en.wikipedia.org/wiki/Computer_assisted_translation - -* TMX. - -TMX (Translation Memory eXchange) is an open XML standard for the exchange of -translation memory data created by computer-aided translation and localization -tools. - - http://www.lisa.org/standards/tmx/ - http://en.wikipedia.org/wiki/Translation_Memory_eXchange - -* Translation memory. - -A translation memory, or TM, is a database that stores segments that have been -previously translated. A translation-memory system stores the words, phrases -and paragraphs that have already been translated and aid human translators. -The translation memory stores the source text and its corresponding -translation in language pairs called "translation units". - - http://en.wikipedia.org/wiki/Translation_memory - -* pootle - -Pootle is a user-friendly web portal that makes the translation process so -much simpler. It allows online translation, work assignment, gives statistics -and allows easy volunteer contribution. - - http://translate.sourceforge.net/wiki/pootle/index diff -r da0024f4f068 -r 2e3bc2435d68 clipboard.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clipboard.rst Sat Feb 20 23:13:00 2016 +0200 @@ -0,0 +1,37 @@ +.. -*- coding: utf-8; -*- +.. include:: HEADER.rst + +===================== + Clipboard/selection +===================== +.. contents:: + +MS Windows +========== + +X Windows +========= + +X11 selection transfers (which both PRIMARY and CLIPBOARD are instances of) +are done through synthesized X11 events and properties changes. + +The messages used to transfer the selections have a maximum size that's +actually quite low (a few kilobytes). + +See + + http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt + http://www.jwz.org/doc/x-cut-and-paste.html + http://en.wikipedia.org/wiki/X_Window_selection + http://www.emacswiki.org/cgi-bin/wiki/CopyAndPaste + +xclipboard +========== + +The xclipboard command emulates the traditional Macintosh style clipboard by +claiming ownership of the CLIPBOARD selection and answering any requests for +its value. When it loses the selection, it immediately asks the new owner for +the value of the CLIPBOARD selection, makes a local copy, and then reasserts +ownership of the CLIPBOARD. This way the clipboard contents can persist after +the original application has exited. + diff -r da0024f4f068 -r 2e3bc2435d68 code-size.rst --- a/code-size.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Common. - -** Configuration. - -Configure build with disabling unused features e.g.: - - $ ./configure --without-png - -** Link dynamically. - -Link dynamically instead statically (on your platform shared library may be -already present). - -** Avoid debug build. - -Make release/final build instead debug. - -** Packer. - -Use packers. Packer compress binary so binary smaller. When program load -decompress itself, so startup time increase. - - http://upx.sourceforge.net - home page - -* GCC. - -Use -Os when produce *.o files. - -Use -s when produce executable. -And "--remove-section=.comment and --remove-section=.note". - -Use: - - $ strip --strip-all - -and - - $ gcc -ffunction-sections -fdata-sections -c -o my.o my.c - $ gcc -Wl,--gc-sections -o my my.o - -* MSVC. - -Use /Os when produce *.obj files. - diff -r da0024f4f068 -r 2e3bc2435d68 color.rst --- a/color.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Color naming schemas. - - http://en.wikipedia.org/wiki/Web_colors - http://en.wikipedia.org/wiki/X11_color_names - - diff -r da0024f4f068 -r 2e3bc2435d68 cpu.rst --- a/cpu.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* ARM. - - http://en.wikipedia.org/wiki/ARM_architecture - -** TrustZone. - - http://www.arm.com/products/processors/technologies/trustzone.php - - diff -r da0024f4f068 -r 2e3bc2435d68 debian-networking.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian-networking.rst Sat Feb 20 23:13:00 2016 +0200 @@ -0,0 +1,40 @@ +.. -*- coding: utf-8; -*- +.. include:: HEADER.rst + +=================== + Debian networking +=================== +.. contents:: + +Описание файлов конфигурации:: + + $ cat /etc/hostname (сетевое имя компьютера без домена) + debian-vm + $ cat /etc/resolv.conf (Настройки DNS) + search bifit.int + nameserver 192.168.1.1 + $ cat /etc/hostname.eri0 (имя из hosts или IP) + sparc + $ cat /etc/hosts (назначение IP хосту) + 127.0.0.1 localhost (обязательная строка) + 192.168.1.26 debian-vm.bifit.int debian-vm (обязательная строка) + $ cat /etc/interfaces + # This file describes the network interfaces available on your system + # and how to activate them. For more information, see interfaces(5). + + # The loopback network interface + auto lo + iface lo inet loopback + + # The primary network interface + allow-hotplug eth0 + iface eth0 inet static + address 192.168.1.26 (назначить сетевой адрес интерфейса) + netmask 255.255.255.0 (назначить сетевую маску для подсетей) + network 192.168.1.0 + broadcast 192.168.1.255 + gateway 192.168.1.1 + # dns-* options are implemented by the resolvconf package, if installed + dns-nameservers 192.168.1.1 + dns-search bifit.int + diff -r da0024f4f068 -r 2e3bc2435d68 debian-ppp.rst --- a/debian-ppp.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* \ No newline at end of file diff -r da0024f4f068 -r 2e3bc2435d68 determine-os.rst --- a/determine-os.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* uname -a - - $ uname -a - Linux poly.tech-recipes.com 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 i686 i386 - GNU/Linux - - kernel name: Linux - hostname: poly.tech-recipes.com - kernel release: 2.6.5-1.358 - kernel version: #1 Sat May 8 09:04:50 EDT 2004 - - -* Linux - -** Version files. - -See for file `/etc/-version' or `/etc/-release'. - - $ cat determine-os.sh - #!/bin/sh - [ -e /etc/SuSE-release ] && echo This is a SuSE system. - [ -e /etc/redhat-release ] && echo This is a redhat system. - [ -e /etc/fedora-release ] && echo This is a fedora system. - [ -e /etc/debian-version ] && echo This is a debian system. - [ -e /etc/slackware-version ] && echo This is a slackware system. - -See also list: - Novell SuSE - /etc/SuSE-release - Red Hat - /etc/redhat-release, /etc/redhat_version - Fedora - /etc/fedora-release - Slackware - /etc/slackware-release, /etc/slackware-version - Debian - /etc/debian_release, /etc/debian_version, - Mandrake - /etc/mandrake-release - Yellow dog - /etc/yellowdog-release - Sun JDS - /etc/sun-release - Solaris/Sparc - /etc/release - Gentoo - /etc/gentoo-release - -** Kernel version information. - -Commonly, distributions will leave tags in the kernel version string to identify -themselves. This can be found in the log files like /var/log/syslog or /var/log/messages. - - $ cat /etc/issue - -or - - $ cat /proc/version - -Even if you run a custom kernel, you might still get hints from the gcc version like this -one line from /var/log/syslog: - - Feb 20 05:54:07 sarge kernel: nf3 (root@sarge) (gcc version 3.4.4 20050314 (prerelease) - (Debian 3.4.3-13sarge1)) #1 PREEMPT Thu Nov 16 20:31:43 CET 2006 - -** 'lsb_release' command. - - $ sudo apt-get install lsb-release - - $ lsb_release -s -i -Debian - $ lsb_release -s -c -squeeze - $ lsb_release -s -r -6.0 diff -r da0024f4f068 -r 2e3bc2435d68 devel-rules.rst --- a/devel-rules.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,664 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* General discussion. - -See - - http://en.wikipedia.org/wiki/List_of_software_development_philosophies - http://en.wikipedia.org/wiki/List_of_eponymous_laws - -* Principle of good enough (POGE). - -It favours quick-and-simple (but potentially extensible) designs over -elaborate systems designed by committees. - -Once the quick-and-simple design is deployed, it can then evolve as needed, -driven by user requirements. - -This kind of design is not appropriate in systems where it is not possible to -evolve the system over time, or where the full functionality is required from -the start. - -See - - http://en.wikipedia.org/wiki/Principle_of_good_enough - -* No Silver Bullet. - -There is no single development, in either technology or management technique, -which by itself promises even one order of magnitude improvement within a -decade in productivity, in reliability, in simplicity. - -See - - http://en.wikipedia.org/wiki/No_Silver_Bullet - -* Rule of thumb. - -A rule of thumb is a principle that postulate in some case use simple -procedure wich produce approximate result instead use complex but exact -produce. - -See - - http://en.wikipedia.org/wiki/Rule_of_thumb - -* The Zero One or Infinity. - -The Zero One or Infinity (ZOI) rule is a rule of thumb in software design. It -suggests that arbitrary limits on the number of instances of a particular -entity should not be allowed. Specifically, that an entity should either be -forbidden entirely, one should be allowed, or any number (presumably, to the -limit of available storage) of them should be allowed. It should not be the -software that puts a hard limit on the number of instances of the entity. - - http://en.wikipedia.org/wiki/Zero_One_Infinity - -* 80-20 rule (pareto principle). - -This rule postulate that roughly 80% of the effects come from 20% of the -causes. - -This rule applied to optimisation (most time spent by program only by little -piece of code), functionality (80% of users use only 20% of program -functionality); bugs (fixing the top 20% of most reported bugs solve 80% of -the error and crashes). - -See - - http://en.wikipedia.org/wiki/80:20_rule - -* 1% rule. - -The 1% rule states that the number of people who create content on the -internet represents approximately 1% (or less) of the people actually viewing -that content. - -See - - http://en.wikipedia.org/wiki/1%25_rule_%28Internet_culture%29 - -* Parkinson's Law. - -Work expands so as to fill the time available for its completion. - -Data expands to fill the space available for storage. - -See - - http://en.wikipedia.org/wiki/Parkinson%27s_law - -* Ninety-ninety rule. - -The first 90% of the code accounts for the first 10% of the development time. -The remaining 10% of the code accounts for the other 90% of the development -time. - -See - - http://en.wikipedia.org/wiki/Ninety-ninety_rule - -* Wirth's law. - -Software is getting slower more rapidly than hardware becomes faster. - -See - - http://en.wikipedia.org/wiki/Wirth%27s_law - -* Student syndrome. - -Student syndrome refers to the phenomenon that many people will start to fully -apply themselves to a task just at the last possible moment before a deadline. - -The student syndrome is a form of procrastination (). - -See - - http://en.wikipedia.org/wiki/Student_syndrome - -* Conway's Law. - -...organizations which design systems ... are constrained to produce designs -which are copies of the communication structures of these organizations. - -Example: Consider a two-person team of software engineers, A and B. Say A -designs and codes a software class X. Later, the team discovers that class X -needs some new features. If A adds the features, A is likely to simply expand -X to include the new features. If B adds the new features, B may be afraid of -breaking X, and so instead will create a new derived class X2 that inherits -X's features, and puts the new features in X2. So the final design is a -reflection of who implemented the functionality. - -A real life example: NASA's Mars Climate Orbiter crashed because one team used -United States customary units (e.g., inches, feet and pounds) while the other -used metric units for a key spacecraft operation. - -See - - http://en.wikipedia.org/wiki/Conway%27s_Law - -* Brooks's law. - -It takes some time for the people added to a project to become productive. - -Communication overheads increase as the number of people increases. - -Adding manpower to a late software project makes it later. - -See - - http://en.wikipedia.org/wiki/Brooks%27_law - -* Code bloat. - -Code bloat is the production of code that is perceived as unnecessarily long, -slow, or otherwise wasteful of resources. Code bloat generally refers to -source code size but sometimes is used to refer to the generated code size or -even the binary file size. - - http://en.wikipedia.org/wiki/Code_bloat - -* Beerware. - -Beerware is term for software released under a very relaxed license. It -provides the end user with the right to use a particular program. - -Should the user of the product meet the author and consider the software -useful, he is encouraged to buy the author a beer 'in return' (or, in some -variations, drink a beer in the author's honor). - -/* ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return Poul-Henning Kamp - * ---------------------------------------------------------------------------- - */ - - http://en.wikipedia.org/wiki/Beerware - -* Demoware. - -Demoware (also known as trialware) is commercial software released for free -(shareware) in a version which is limited in one or more ways. - - http://en.wikipedia.org/wiki/Demoware - -* Crippleware. - -Crippleware is any product whose functions have been limited (or "crippled") -with the sole purpose of encouraging or requiring the user to pay for those -functions (either by paying a one-time fee or an on-going subscription fee). -Crippleware is also a term used to describe software that makes use of Digital -Rights Management. - - http://en.wikipedia.org/wiki/Crippleware - -* Nagware. - -Nagware (also known as begware, annoyware or a nagscreen) is a type of -shareware that reminds (or nags) the user to register it by paying a fee. It -usually does this by popping up a message when the user starts the program, or -intermittently while the user is using the application. These messages can -appear as windows obscuring part of the screen or message boxes that can -quickly be closed. Some nagware keeps the message up for a certain time -period, forcing the user to wait to continue to use the program. - - http://en.wikipedia.org/wiki/Nagware - -* Registerware. - -Registerware refers to computer software which requires the user to give -personal information, e.g an email address, through registration in order to -download or use the program. - - http://en.wikipedia.org/wiki/Registerware - -* Scareware. - -Scareware comprises several classes of scam software, often with limited or no -benefit, sold to consumers via certain unethical marketing practices. - - http://en.wikipedia.org/wiki/Scareware - -* Donationware. - -Donationware is a licensing model that supplies fully operational software to -the user and pleads for an optional donation be paid to the programmer or a -third-party beneficiary (usually a non-profit). The amount of the donation may -also be stipulated by the author, or it may be left to the discretion of the -user, based on individual perceptions of the software's value. Since -donationware comes fully operational (i.e. not crippleware) and payment is -optional, it is a type of freeware. - - http://en.wikipedia.org/wiki/Donationware - -* Freeware. - -Freeware is computer software that is available for use at no cost or for an -optional fee. - - http://en.wikipedia.org/wiki/Freeware - -* Shareware. - -Shareware is proprietary software that is provided to users without payment on -a trial basis and is often limited by any combination of functionality, -availability or convenience. Shareware is often offered as a download from an -Internet website or as a compact disc included with a magazine. - -The rationale behind shareware is to give buyers the opportunity to use the -program and judge its usefulness before purchasing a license for the full -version of the software. - -The words "free trial" or "trial version" are indicative of shareware. - - http://en.wikipedia.org/wiki/Shareware - -* Software bloat. - -Software bloat is a term used to describe the tendency of newer computer -programs to have a larger installation footprint, or have many unnecessary -features that are not used by end users, or just generally use more system -resources than necessary, while offering little or no benefit to its users. - - -Comparison of Microsoft Windows minimum hardware requirements (for 32-bit -versions): - -Windows version Processor Memory Hard disk -Windows 95[4] 25 MHz 4 MB ~50 MB -Windows 98[5] 66 MHz 16 MB ~200 MB -Windows 2000[6] 133 MHz 32 MB 650 MB -Windows XP[7] 233 MHz 64 MB 1.5 GB -Windows Vista[8] 800 MHz 512 MB 15 GB -Windows 7[9] 1 GHz 1 GB 16 GB - -Every program attempts to expand until it can read mail. Those programs which -cannot so expand are replaced by ones which can. - -- Jamie Zawinski - -** Foistware. - -Foistware, Bloatware, or Bundler is software bundled with completely unrelated -programs. That means that there is no particular property in the software that -makes it foistware, but rather the context in which it was installed. - - http://en.wikipedia.org/wiki/Foistware - -** Bloatware. - -Software bloat is a term used to describe the tendency of newer computer -programs to have a larger installation footprint, or have many unnecessary -features that are not used by end users, or just generally use more system -resources than necessary, while offering little or no benefit to its users. -Bloatware, or foistware, is also used to describe software that comes -pre-installed on a computer when it's bought, mostly consisting of -time-limited trials or feature-lacking basic or "beginner" versions. - - http://en.wikipedia.org/wiki/Bloatware - -** Shovelware. - -Shovelware is sometimes used to denote foistware which was chosen to fill up -the remaining space on a freely distributed CD-ROM. - - http://en.wikipedia.org/wiki/Shovelware - -* Second-system effect. - -In computing, the second-system effect or sometimes the second-system syndrome -refers to the tendency, when following on from a relatively small, elegant, -and successful system, to design the successor as an elephantine, -feature-laden monstrosity. The term was first used by Fred Brooks in his -classic The Mythical Man-Month.[1] It described the jump from a set of simple -operating systems on the IBM 700/7000 series to OS/360 on the 360 series. - -* Inner-platform effect. - -The inner-platform effect is the tendency of software architects to create a -system so customizable as to become a replica, and often a poor replica, of -the software development platform they are using. - -XXX read more http://thedailywtf.com/Articles/The_Inner-Platform_Effect.aspx - - http://en.wikipedia.org/wiki/Inner-platform_effect - -* Feature creep. - -Feature creep is the proliferation of features in a product such as computer -software. Extra features go beyond the basic function of the product and so -can result in baroque over-complication, or "featuritis", rather than simple, -elegant design. - - http://en.wikipedia.org/wiki/Feature_creep - -* Bullet-point engineering. - -Bullet-point engineering is a software design anti-pattern where developers -use the features of competing software packages as checklists of features to -implement in their own product. These features are often implemented poorly -and haphazardly, without any real design, merely so they can be added to a -bulleted list of features in marketing material. Bullet point engineering -often leads to feature creep and software bloat but may also simply result in -a poorly designed imitative product. - - http://en.wikipedia.org/wiki/Bullet-point_engineering - -* KISS - -Keep it simple and stupid, or keep it simple, stupid! - -Instruction creep and function creep, two instances of creeping featuritis, -are examples of failure to follow the KISS principle in software development. - - http://en.wikipedia.org/wiki/KISS_principle - -* Minimalism. - -In computing, minimalism refers to the application of minimalist philosophies -and principles in hardware and software design and usage. - - http://en.wikipedia.org/wiki/Minimalism_%28computing%29 - -* Unix philosophy. - -** From Doug McIlroy. - -"Do one thing and do it well." - -"Write programs that do one thing and do it well. Write programs to work -together. Write programs to handle text streams, because that is a universal -interface." - -** From Pike: Notes on Programming in C. - - 1. You cannot tell where a program is going to spend its time. Bottlenecks -occur in surprising places, so do not try to second guess and put in a speed -hack until you've proven that's where the bottleneck is. - 2. Measure. Do not tune for speed until your performance analysis tool tells -you which part of the code overwhelms the rest. - 3. Fancy algorithms tend to run more slowly on small data sets than simple -algorithms. They tend to have a large constant factor in O(n) analysis, and n -is usually small. So don't get fancy unless Rule 2 indicates that n is big -enough. - 4. Simplify your algorithms and data structures wherever it makes sense -because fancy algorithms are more difficult to implement without defects. The -data structures in most programs can be built from array lists, linked lists, -hash tables, and binary trees. - 5. Data dominates. If you have chosen the right data structures and organized -things well, the algorithms will almost always be self-evident. Data -structures, not algorithms, are central to programming. - -** From Mike Gancarz: The UNIX Philosophy. - - 1. Small is beautiful. - 2. Make each program do one thing well. - 3. Build a prototype as soon as possible. - 4. Choose portability over efficiency. - 5. Store data in flat text files. - 6. Use software leverage to your advantage. - 7. Use shell scripts to increase leverage and portability. - 8. Avoid captive user interfaces. - 9. Make every program a filter. - -With this not all agree: - - 1. Allow the user to tailor the environment. - 2. Make operating system kernels small and lightweight. - 3. Use lowercase and keep it short. - 4. Save trees. - 5. Silence is golden. - 6. Think parallel. - 7. The sum of the parts is greater than the whole. - 8. Look for the 90-percent solution. - 9. Worse is better. - 10. Think hierarchically. - -** Misc. - -"Unix is simple. It just takes a genius to understand its simplicity." - -– Dennis Ritchie -"Unix never says 'please'." - -– Rob Pike - - http://en.wikipedia.org/wiki/Unix_philosophy - -* Worse is better. - -In the "Worse is better" design style, simplicity of both the interface and -the implementation is more important than any other attribute of the system — -including correctness, consistency and completeness. - -Simplicity - The design must be simple, both in implementation and interface. It is - more important for the implementation to be simpler than the interface. - Simplicity is the most important consideration in a design. -Correctness - The design must be correct in all observable aspects. It is slightly better - to be simple than correct. -Consistency - The design must not be overly inconsistent. Consistency can be sacrificed - for simplicity in some cases, but it is better to drop those parts of the - design that deal with less common circumstances than to introduce either - implementational complexity or inconsistency. -Completeness - The design must cover as many important situations as is practical. All - reasonably expected cases should be covered. Completeness can be sacrificed - in favor of any other quality. In fact, completeness must be sacrificed - whenever implementation simplicity is jeopardized. Consistency can be - sacrificed to achieve completeness if simplicity is retained; especially - worthless is consistency of interface. - - http://dreamsongs.com/WIB.html - Lisp: Good News, Bad News, How to Win Big - -* The right thing. - -The MIT approach (known as "The right thing"): - -Simplicity - The design must be simple, both in implementation and interface. It is - more important for the interface to be simpler than the implementation. -Correctness - The design must be correct in all observable aspects. Incorrectness is - simply not allowed. -Consistency - The design must be consistent. A design is allowed to be slightly less - simple and less complete to avoid inconsistency. Consistency is as important - as correctness. -Completeness - The design must cover as many important situations as is practical. All - reasonably expected cases must be covered. Simplicity is not allowed to - overly reduce completeness. - - http://dreamsongs.com/WIB.html - Lisp: Good News, Bad News, How to Win Big - -* YAGNI. - -"You aren't gonna need it" (or YAGNI for short) is the principle in extreme -programming that programmers should not add functionality until it is -necessary. - - http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it - -* DRY (DIE). - -Don't Repeat Yourself (DRY) or Duplication is Evil (DIE). - - * VCS allow multiple and diverging copies ("branches"). - * Source code generation. - - http://en.wikipedia.org/wiki/Don%27t_repeat_yourself - -* Do it yourself (DIY). - -Do it yourself (or DIY) is a term used to describe building, modifying, or -repairing of something without the aid of experts or professionals. - -when tasklist longer then people life mutch easy use already written libraries -then wrote own. - - http://en.wikipedia.org/wiki/Do_it_yourself - -* Once and Only Once (OAOO). - - - -* MoSCoW Method. - -The capital letters in MoSCoW stand for: - - * M - MUST have this (included in the current delivery timebox in order - for it to be a success). - * S - SHOULD have this if at all possible (critical to the success of the - project, but are not necessary for delivery in the current delivery - timebox). - * C - COULD have this if it does not affect anything else (nice to have). - * W - WON'T have this time but WOULD like in the future. - - http://en.wikipedia.org/wiki/MoSCoW_Method - -* Abandonware. - -Abandonware is a term used to describe computer software that is no longer -sold or supported, or whose copyright ownership may be unclear for various -reasons. While the term has been applied largely to older games, utility -software, etc. - - http://en.wikipedia.org/wiki/Abandonware - -* Separation of concerns. - -In computer science, separation of concerns (SoC) is the process of separating -a computer program into distinct features that overlap in functionality as -little as possible. A concern is any piece of interest or focus in a program. -Typically, concerns are synonymous with features or behaviors. Progress -towards SoC is traditionally achieved through modularity of programming and -encapsulation (or "transparency" of operation), with the help of information -hiding. Layered designs in information systems are also often based on -separation of concerns (e.g., presentation layer, business logic layer, data -access layer, database layer). - -HyperText Markup Language (HTML) and cascading style sheets (CSS) are -languages intended to separate style from content. - - http://en.wikipedia.org/wiki/Separation_of_concerns - -* Modular design. - -In systems engineering, modular design — or "modularity in design" — is an -approach that subdivides a system into smaller parts (modules) that can be -independently created and then used in different systems to drive multiple -functionalities. - - http://en.wikipedia.org/wiki/Modular_design - -* Occam's razor. - -"entia non sunt multiplicanda praeter necessitatem" - -Entities must not be multiplied beyond necessity. - -* Code and fix. - -Programmers immediately begin producing code. Bugs must be fixed before the -product can be shipped. - - http://en.wikipedia.org/wiki/Code_and_fix - -* Cowboy coding. - -Cowboy coding is a term used to describe software development where the -developers have autonomy over the development process. This includes control -of the project's schedule, algorithms, tools, and coding style. - -A cowboy coder can be a lone developer or part of a group of developers with -either no external management or management that controls only non-development -aspects of the project, such as its nature, scope, and feature set (the -"what", but not the "how"). - - http://en.wikipedia.org/wiki/Cowboy_coding - -* Extreme Programming. - - http://en.wikipedia.org/wiki/Extreme_Programming - -* Hollywood Principle. - -In computer programming, the Hollywood Principle is stated as "don't call us, -we'll call you." It has applications in software engineering; see also -implicit invocation for a related architectural principle. - - http://en.wikipedia.org/wiki/Hollywood_Principle - -* Inversion of control. - -Inversion of control, or IoC, is an abstract principle describing an aspect of -some software architecture designs in which the flow of control of a system is -inverted in comparison to procedural programming. - - http://en.wikipedia.org/wiki/Inversion_of_control - -* Literate programming. - - http://en.wikipedia.org/wiki/Literate_Programming - -* Model-driven architecture. - - http://en.wikipedia.org/wiki/Model-driven_architecture - -* Quick-and-dirty. - -Quick-and-dirty is a term used in reference to anything that is an easy way to -implement a workaround or "kludge." Its usage is popular among programmers, -who use it to describe a crude solution or programming implementation that is -imperfect, inelegant, or otherwise inadequate, but which solves or masks the -problem at hand, and is generally faster and easier to put in place than a -proper solution. - - http://en.wikipedia.org/wiki/Quick-and-dirty - -* Release early, release often. - -Release early, release often (sometimes abbreviated RERO) is a software -development philosophy that emphasizes the importance of early and frequent -releases in creating a tight feedback loop between developers and testers or -users. - - http://en.wikipedia.org/wiki/Release_early,_release_often - -* Test-driven development. - -Test-driven development (TDD) is a software development technique that relies -on the repetition of a very short development cycle: First the developer -writes a failing automated test case that defines a desired improvement or new -function, then produces code to pass that test and finally refactors the new -code to acceptable standards. - - http://en.wikipedia.org/wiki/Test-driven_development - -* Unified Process. - -The Unified Software Development Process or Unified Process is a popular -iterative and incremental software development process framework. The -best-known and extensively documented refinement of the Unified Process is the -Rational Unified Process (RUP). - - http://en.wikipedia.org/wiki/Unified_Process - -* Waterfall model. - - 1. Requirements specification - 2. Design - 3. Construction (AKA implementation or coding) - 4. Integration - 5. Testing and debugging (AKA Validation) - 6. Installation - 7. Maintenance - - http://en.wikipedia.org/wiki/Waterfall_model - -* Do it yourself. diff -r da0024f4f068 -r 2e3bc2435d68 devel.rst --- a/devel.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Numbers everyone should know. - - * L1 cache reference 0.5 ns - * Branch mispredict 5 ns - * L2 cache reference 7 ns - * Mutex lock/unlock 100 ns - * Main memory reference 100 ns - * Compress 1K bytes with Zippy 10,000 ns - * Send 2K bytes over 1 Gbps network 20,000 ns - * Read 1 MB sequentially from memory 250,000 ns - * Round trip within same datacenter 500,000 ns - * Disk seek 10,000,000 ns - * Read 1 MB sequentially from network 10,000,000 ns - * Read 1 MB sequentially from disk 30,000,000 ns - * Send packet CA->Netherlands->CA 150,000,000 ns diff -r da0024f4f068 -r 2e3bc2435d68 digit-music.rst --- a/digit-music.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,167 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* Musician soft. - - http://freemusicsoftware.org - http://www.freesoundeditor.com/VSTSyntheng.htm - VST plugin - -* Editor. - -Mainly those soft are cross-platform. - -** LilyPond. - -GNU LilyPond is a computer program for music engraving. One of LilyPond's -major goals is to produce scores that are engraved with traditional layout -rules, reflecting the era when scores were engraved by hand. - -See - - http://lilypond.org/ - -** Denemo. - -Denemo is a music notation program for Linux that helps you quickly prepare -notation for publishing with LilyPond. Denemo does NOT strive to display all -notation graphically or be the most complete graphic environment. Denemo is a -front-end to LilyPond. If you are looking for a WYSIWYG editor Denemo may not -be for you. If you are looking for a way to quickly prepare scores for final -editing in LilyPond give Denemo a whirl. - -See - - http://denemo.sourceforge.net/ - -** NoteEdit. - -NoteEdit is a music scorewriter for Linux and other Unix-like computer -operating systems. - -It can function as a notation-based GUI for MIDI composers and as a score -preparation utility for a variety of output targets. - -** CMN (Common Music Notation). - -CMN (Common Music Notation) is a free western music notation package written -in Common Lisp. - -See - - http://ccrma.stanford.edu/software/cmn/ - -** MuseScore. - -MuseScore is a music scorewriter for Linux and Microsoft Windows. MuseScore is -a WYSIWYG editor, complete with support for score playback and import/export -of MusicXML and standard MIDI files. Percussion notation is supported, as is -direct printing from the program. - -See - - http://www.musescore.org/en - http://en.wikipedia.org/wiki/MuseScore - -** Rosegarden. - -Rosegarden is an integrated audio/MIDI sequencer with a variety of user -interfaces, including an excellent notation-based GUI. Rosegarden's support -for standard notation was an essential aspect of the program's original -design. LilyPond export capability appeared with Rosegarden. - -Rosegarden is a free software digital audio workstation program developed for -Linux with ALSA and KDE. It acts as an audio and MIDI sequencer, scorewriter -and musical composition and editing tool. It is intended to be a free -replacement for such applications as Cubase. - -Rosegarden does not provide a built-in software synthesizer, so it requires a -hardware MIDI synthesizer, a soft synthesizer such as FluidSynth or -TiMidity++, or a synthesizer plugin in order to make any sound from MIDI -compositions. Recent versions of Rosegarden support the DSSI software -synthesizer plugin interface, and can use some Windows VST plugins through an -adapter. - -See - - http://www.rosegardenmusic.com/ - http://en.wikipedia.org/wiki/Rosegarden - -** TuxGuitar. - -TuxGuitar is a free score writer and midi sequencer written in Java and -released under the terms of the GNU Lesser General Public License similar to -the commercial Guitar Pro. It is intented to help guitarists -write\edit\play\manage songs transcription in the form of tablatures or -scores. It has its own file format but, in addition, can also import\export -from\to Guitar Pro proprietary file format, import Power Tab and TablEdit -tabulatures, and export tabulatures as LilyPond scores. - -It also supports exporting as ASCII tabulatures, MusicXML and Adobe PDFs, and -loading and exporting MIDI files. - -See - - http://en.wikipedia.org/wiki/TuxGuitar - http://www.tuxguitar.com.ar/ - -* Sequencer. - -** MusE. - -MusE is a MIDI/Audio sequencer with recording and editing capabilities written -by Werner Schweer. MusE aims to be a complete multitrack virtual studio for -Linux: it currently has no support under other platforms as it relies on -Linux-only technologies, including JACK and ALSA. - -See - - http://muse-sequencer.org/ - http://en.wikipedia.org/wiki/MusE - -** FluidSynth. - -FluidSynth, formerly known as iiwusynth, is a free open source program which -synthesizes using SoundFont technology without need for a SoundFont-compatible -soundcard, and the size of loaded SoundFont banks is limited by the amount of -RAM available. There is a GUI for FluidSynth called Qsynth which is also open -source. Both are available in most Linux distributions; compiling them for -Windows is also possible. - -See - - http://en.wikipedia.org/wiki/FluidSynth - http://www.nongnu.org/fluid/ - -** Seq24. - -Seq24 is a software MIDI music sequencer that runs under Linux and Microsoft -Windows. It is designed to be simple to use and appropriate for live -performance. - -See - - http://en.wikipedia.org/wiki/Seq24 - http://filter24.org/seq24/about.html - -** TiMidity++. - -TiMidity++, originally and still frequently informally called TiMidity, is a -software synthesizer that can play MIDI files without a hardware synthesizer. - -See - - http://timidity.sourceforge.net/ - -* Notes. - -See - - http://mutopiaproject.org/index.html - -** Audacity. - -Graphical cross-platform audio editor. - -See - - http://audacity.sourceforge.net/ diff -r da0024f4f068 -r 2e3bc2435d68 dimentions.rst --- a/dimentions.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* dpi - -dots per inch. - - http://en.wikipedia.org/wiki/Dots_per_inch - -* ppi - -pixels per inch, pixel density. - - Inch Resolution ppi - 17" 1280x1024 96 - 19" 1280x1024 86 - 19" 1600x1200 105 - 21" 1600x1200 95 - 2" 240x320 196 - - http://en.wikipedia.org/wiki/Pixels_per_inch - -* lpi - -lines per inch. - - http://en.wikipedia.org/wiki/Lines_per_inch - -* bpp - -bits per pixel, color depth. - - * 1 bpp, 2 colors (monochrome) - * 2 bpp, 4 colors - * 3 bpp, 8 colors - * 8 bpp, 256 colors - * 16 bpp, 65,536 colors ("Highcolor" ) - * 24 bpp, 16.8 million colors ("Truecolor") - - http://en.wikipedia.org/wiki/Color_depth - -* Display resolution. - - Name Megapixels Width x Height - CGA 0.064 320×200 - EGA 0.224 640×350 - VGA 0.3 640×480 - SVGA 0.5 800×600 - XGA 0.8 1024×768 - SXGA 1.3 1280×1024 - UXGA 1.9 1600×1200 - WUXGA 2.3 1920×1200 diff -r da0024f4f068 -r 2e3bc2435d68 display.rst --- a/display.rst Sat Feb 20 15:20:24 2016 +0200 +++ b/display.rst Sat Feb 20 23:13:00 2016 +0200 @@ -9,6 +9,7 @@ Native display resolutions. =========================== + ===== ====== ====== ========= 19" 4:3 SXGA 1280х1024 20" 4:3 UXGA 1600x1200 21" 4:3 UXGA 1600x1200 @@ -16,6 +17,24 @@ 24" 16:10 WUXGA 1920x1200 26" 16:10 WUXGA 1920x1200 30" 16:10 WQXGA 2560x1600 + ===== ====== ====== ========= + +TODO + +Display resolutions: + + ===== ========== ============== + Name Megapixels Width x Height + ===== ========== ============== + CGA 0.064 320×200 + EGA 0.224 640×350 + VGA 0.3 640×480 + SVGA 0.5 800×600 + XGA 0.8 1024×768 + SXGA 1.3 1280×1024 + UXGA 1.9 1600×1200 + WUXGA 2.3 1920×1200 + ===== ========== ============== Selecting display. ================== diff -r da0024f4f068 -r 2e3bc2435d68 docbook.rst --- a/docbook.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* About. - -* DocBook Project. - -The DocBook Project supports the open-source development of a variety of DocBook -resources; in particular, the DocBook XSL stylesheets. - - http://docbook.sourceforge.net/ - diff -r da0024f4f068 -r 2e3bc2435d68 domen.rst --- a/domen.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Famous domen registry company. - - godaddy.com diff -r da0024f4f068 -r 2e3bc2435d68 embedded.rst --- a/embedded.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Embedded OS. - -bertos/contiki/tnkernel/nut/rtems/threadx/mantis/rtt/smx/scmrtos/xmkrtos/freertos/tinyos diff -r da0024f4f068 -r 2e3bc2435d68 epub.rst --- a/epub.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Reading ePub. - -** Cool Reader. - - http://coolreader.org/ - home page - -* Creating ePub. - -** eCub. - - http://www.juliansmart.com/ecub - home page - -** Sigil. - - http://en.wikipedia.org/wiki/Sigil_%28application%29 diff -r da0024f4f068 -r 2e3bc2435d68 expect.rst --- a/expect.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ --*- mode: outline -*- - -* About. - - http://sourceforge.net/projects/expect/ - source code - - http://wiki.tcl.tk/201 - links about expect on tcl wiki - - http://en.wikipedia.org/wiki/Expect - -* Java implementation. - - http://expectj.sourceforge.net/ - home page diff -r da0024f4f068 -r 2e3bc2435d68 feed.rst --- a/feed.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* About. - - http://www.xmlrpc.com/spec - XML-RPC Specification - http://www.xmlrpc.com/metaWeblogApi - RFC: MetaWeblog API - http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared - The purpose of this page is to summarize, as clearly and simply as possible, the - differences between the RSS 2.0 and Atom 1.0 syndication languages. - -* Feed validator. - - http://www.atomenabled.org/feedvalidator/ - for Atom and RSS - -* Emacs feed reader. - -** newsticker.el - - http://www.nongnu.org/newsticker/ - home page - -* Feed readers. - -** Thunderbird. - -** Google Reader. - -* Blog posting software. - -** ScribeFire. - -ScribeFire is an extension for the Mozilla Firefox Web browser, Google Chrome -Web browser, and Apple Safari Web browser that allows you to easily post to all -of your blogs. - - http://www.scribefire.com/ - home page diff -r da0024f4f068 -r 2e3bc2435d68 fileid.rst --- a/fileid.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* File signature list. - - http://www.garykessler.net/library/file_sigs.html - File signatures table - http://www.magicdb.org/ - -* Determine file type utilities. - -** file(1). - -Standard unix utility. It use /etc/magic db. - -** PEiD. - -PEiD detects most common packers, cryptors and compilers for PE files. It can currently detect more -than 600 different signatures in PE files. - -Freewere, close source. - - http://www.peid.info - home page diff -r da0024f4f068 -r 2e3bc2435d68 flops.rst --- a/flops.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* Top. - -See - - http://www.top500.org/ - diff -r da0024f4f068 -r 2e3bc2435d68 forth.rst --- a/forth.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ --*- mode: outline -*- - -* Forth Foundation Library (FFL). - -Data types Collections Hash & RNG Interfaces Development Compound -Bit Array Array CRC-32 Interval Timer ANS Structures Text Input Stream -Character Single Linked List MD-5 Argument Parser Escaped String Text Output Stream -Dynamic String Double Linked List SHA-1 Gettexts mo-file Enumeration Regular Expressions -Character Set Hash Table SHA-256 XML/HTML Parser String Table XML-DOM -Date Time Binary Tree Mersenne Twister XML/HTML Writer Unit Test DateTime Output Stream -Complex Number AVL Tree Distributed Message Catalog -Fraction N-Tree - -See - - http://ffl.dvoudheusden.net/index.html - -* List of Forth systems. - - http://freshmeat.net/projects/4th diff -r da0024f4f068 -r 2e3bc2435d68 fossil.rst --- a/fossil.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ --*- mode: outline -*- - -* Simple work flow. - - $ mkdir proj - $ cd proj - $ fossil new proj -project-id: 3ec2bca6e6ee450ee4763d3ec43c7023e4f8fe92 -server-id: 2a7bacb2b49cd97e71753697f7e116fda9fc199c -admin-user: user (initial password is "f8362e") - $ ls . -proj - $ fossil open proj - $ ls . -_FOSSIL_ -proj - $ touch hello.c - $ fossil add hello.c -ADDED hello.c - $ fossil ci -m init -New_Version: dc0f9cd1e8fc4ec2cd580c5fc231030313b91107 - $ echo "#define TRUE 1" >>hello.c - $ fossil diff -... - $ fossil status -... - $ fossil ci -m "fixed bug" -... - $ fossil timeline -... - $ fossil leaves -... - $ fossil ls -hello.c - $ fossil branch list -=== 2010-10-12 === -10:45:13 [a71787083b] initial empty check-in (user: user tags: trunk) diff -r da0024f4f068 -r 2e3bc2435d68 freebsd.rst --- a/freebsd.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* FreeBSD ports. - -Configure package: - - $ sudo make config - -Build package: - - $ sudo make - -Install package: - - $ sudo make install - diff -r da0024f4f068 -r 2e3bc2435d68 freedom.rst --- a/freedom.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,253 +0,0 @@ --*- mode: outline; fill-column:78 -*- - -* The Open Source Definition (Annotated) - -Version 1.9 - -The indented, italicized sections below appear as annotations to the Open Source -Definition (OSD) and are not a part of the OSD. A plain version of the OSD without -annotations can be found here. Introduction - -Open source doesn't just mean access to the source code. The distribution terms of -open-source software must comply with the following criteria: - -1. Free Redistribution - -The license shall not restrict any party from selling or giving away the software as a -component of an aggregate software distribution containing programs from several different -sources. The license shall not require a royalty or other fee for such sale. - -Rationale: By constraining the license to require free redistribution, we eliminate the -temptation to throw away many long-term gains in order to make a few short-term sales -dollars. If we didn't do this, there would be lots of pressure for cooperators to defect. - -2. Source Code - -The program must include source code, and must allow distribution in source code as well -as compiled form. Where some form of a product is not distributed with source code, there -must be a well-publicized means of obtaining the source code for no more than a reasonable -reproduction cost preferably, downloading via the Internet without charge. The source code -must be the preferred form in which a programmer would modify the program. Deliberately -obfuscated source code is not allowed. Intermediate forms such as the output of a -preprocessor or translator are not allowed. - -Rationale: We require access to un-obfuscated source code because you can't evolve -programs without modifying them. Since our purpose is to make evolution easy, we require -that modification be made easy. - -3. Derived Works - -The license must allow modifications and derived works, and must allow them to be -distributed under the same terms as the license of the original software. - -Rationale: The mere ability to read source isn't enough to support independent peer review -and rapid evolutionary selection. For rapid evolution to happen, people need to be able to -experiment with and redistribute modifications. - -4. Integrity of The Author's Source Code - -The license may restrict source-code from being distributed in modified form only if the -license allows the distribution of "patch files" with the source code for the purpose of -modifying the program at build time. The license must explicitly permit distribution of -software built from modified source code. The license may require derived works to carry a -different name or version number from the original software. - -Rationale: Encouraging lots of improvement is a good thing, but users have a right to know -who is responsible for the software they are using. Authors and maintainers have -reciprocal right to know what they're being asked to support and protect their -reputations. - -Accordingly, an open-source license must guarantee that source be readily available, but -may require that it be distributed as pristine base sources plus patches. In this way, -"unofficial" changes can be made available but readily distinguished from the base source. - -5. No Discrimination Against Persons or Groups - -The license must not discriminate against any person or group of persons. - -Rationale: In order to get the maximum benefit from the process, the maximum diversity of -persons and groups should be equally eligible to contribute to open sources. Therefore we -forbid any open-source license from locking anybody out of the process. - -Some countries, including the United States, have export restrictions for certain types of -software. An OSD-conformant license may warn licensees of applicable restrictions and -remind them that they are obliged to obey the law; however, it may not incorporate such -restrictions itself. - -6. No Discrimination Against Fields of Endeavor - -The license must not restrict anyone from making use of the program in a specific field of -endeavor. For example, it may not restrict the program from being used in a business, or -from being used for genetic research. - -Rationale: The major intention of this clause is to prohibit license traps that prevent -open source from being used commercially. We want commercial users to join our community, -not feel excluded from it. - -7. Distribution of License - -The rights attached to the program must apply to all to whom the program is redistributed -without the need for execution of an additional license by those parties. - -Rationale: This clause is intended to forbid closing up software by indirect means such as -requiring a non-disclosure agreement. - -8. License Must Not Be Specific to a Product - -The rights attached to the program must not depend on the program's being part of a -particular software distribution. If the program is extracted from that distribution and -used or distributed within the terms of the program's license, all parties to whom the -program is redistributed should have the same rights as those that are granted in -conjunction with the original software distribution. - -Rationale: This clause forecloses yet another class of license traps. - -9. License Must Not Restrict Other Software - -The license must not place restrictions on other software that is distributed along with -the licensed software. For example, the license must not insist that all other programs -distributed on the same medium must be open-source software. - -Rationale: Distributors of open-source software have the right to make their own choices -about their own software. - -Yes, the GPL is conformant with this requirement. Software linked with GPLed libraries -only inherits the GPL if it forms a single work, not any software with which they are -merely distributed. - -10. License Must Be Technology-Neutral - -No provision of the license may be predicated on any individual technology or style of -interface. - -Rationale: This provision is aimed specifically at licenses which require an explicit -gesture of assent in order to establish a contract between licensor and licensee. -Provisions mandating so-called "click-wrap" may conflict with important methods of -software distribution such as FTP download, CD-ROM anthologies, and web mirroring; such -provisions may also hinder code re-use. Conformant licenses must allow for the possibility -that (a) redistribution of the software will take place over non-Web channels that do not -support click-wrapping of the download, and that (b) the covered code (or re-used portions -of covered code) may run in a non-GUI environment that cannot support popup dialogues. - -* Social Contract with the Free Software Community - -Version 1.1 - -1. Debian will remain 100% free - -We provide the guidelines that we use to determine if a work is free in the document -entitled The Debian Free Software Guidelines. We promise that the Debian system and all -its components will be free according to these guidelines. We will support people who -create or use both free and non-free works on Debian. We will never make the system -require the use of a non-free component. - -2. We will give back to the free software community - -When we write new components of the Debian system, we will license them in a manner -consistent with the Debian Free Software Guidelines. We will make the best system we can, -so that free works will be widely distributed and used. We will communicate things such as -bug fixes, improvements and user requests to the upstream authors of works included in our -system. - -3. We will not hide problems - -We will keep our entire bug report database open for public view at all times. Reports -that people file online will promptly become visible to others. - -4. Our priorities are our users and free software - -We will be guided by the needs of our users and the free software community. We will place -their interests first in our priorities. We will support the needs of our users for -operation in many different kinds of computing environments. We will not object to -non-free works that are intended to be used on Debian systems, or attempt to charge a fee -to people who create or use such works. We will allow others to create distributions -containing both the Debian system and other works, without any fee from us. In furtherance -of these goals, we will provide an integrated system of high-quality materials with no -legal restrictions that would prevent such uses of the system. - -5. Works that do not meet our free software standards - -We acknowledge that some of our users require the use of works that do not conform to the -Debian Free Software Guidelines. We have created contrib and non-free areas in our archive -for these works. The packages in these areas are not part of the Debian system, although -they have been configured for use with Debian. We encourage CD manufacturers to read the -licenses of the packages in these areas and determine if they can distribute the packages -on their CDs. Thus, although non-free works are not a part of Debian, we support their use -and provide infrastructure for non-free packages (such as our bug tracking system and -mailing lists). - -* The Debian Free Software Guidelines (DFSG) - - 1. Free Redistribution - -The license of a Debian component may not restrict any party from selling or giving away -the software as a component of an aggregate software distribution containing programs from -several different sources. The license may not require a royalty or other fee for such -sale. - - 2. Source Code - -The program must include source code, and must allow distribution in source code as well -as compiled form. - -3. Derived Works - -The license must allow modifications and derived works, and must allow them to be -distributed under the same terms as the license of the original software. - -4. Integrity of The Author's Source Code - -The license may restrict source-code from being distributed in modified form _only_ if the -license allows the distribution of patch files with the source code for the purpose of -modifying the program at build time. The license must explicitly permit distribution of -software built from modified source code. The license may require derived works to carry a -different name or version number from the original software. (This is a compromise. The -Debian group encourages all authors not to restrict any files, source or binary, from -being modified.) - -5. No Discrimination Against Persons or Groups - -The license must not discriminate against any person or group of persons. - -6. No Discrimination Against Fields of Endeavor - -The license must not restrict anyone from making use of the program in a specific field of -endeavor. For example, it may not restrict the program from being used in a business, or -from being used for genetic research. - -7. Distribution of License - -The rights attached to the program must apply to all to whom the program is redistributed -without the need for execution of an additional license by those parties. - -8. License Must Not Be Specific to Debian - -The rights attached to the program must not depend on the program's being part of a Debian -system. If the program is extracted from Debian and used or distributed without Debian but -otherwise within the terms of the program's license, all parties to whom the program is -redistributed should have the same rights as those that are granted in conjunction with -the Debian system. - -9. License Must Not Contaminate Other Software - -The license must not place restrictions on other software that is distributed along with -the licensed software. For example, the license must not insist that all other programs -distributed on the same medium must be free software. - -10. Example Licenses - -The GPL, BSD, and Artistic licenses are examples of licenses that we consider free. - -* The Free Software Definition - -Free software is a matter of the users' freedom to run, copy, distribute, study, change -and improve the software. More precisely, it refers to four kinds of freedom, for the -users of the software: - - * The freedom to run the program, for any purpose (freedom 0). - * The freedom to study how the program works, and adapt it to your needs (freedom 1). - Access to the source code is a precondition for this. - * The freedom to redistribute copies so you can help your neighbor (freedom 2). - * The freedom to improve the program, and release your improvements to the public, so - that the whole community benefits (freedom 3). - * Access to the source code is a precondition for this. diff -r da0024f4f068 -r 2e3bc2435d68 ftp.rst --- a/ftp.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* '~/.netrc'. - - machine ... login ... password ... - -Also available macro definition. - diff -r da0024f4f068 -r 2e3bc2435d68 game-rogue.rst --- a/game-rogue.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Nethack. - -NetHack is a single-player roguelike video game originally released in 1987. - - http://www.nethack.org/ - home page - http://en.wikipedia.org/wiki/NetHack - -* Angband. - -Angband is a free, single-player dungeon exploration game where you take the -role of an adventurer, exploring a deep dungeon, fighting monsters, and -acquiring the best weaponry you can, in preparation for a final battle with -Morgoth, the Lord of Darkness. - - http://www.thangorodrim.net/ - home page - http://angband.calamarain.net/ - game comic - - diff -r da0024f4f068 -r 2e3bc2435d68 gamepad.rst --- a/gamepad.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Linux. - - $ sudo apt-get install joystick - $ sudo apt-get install jscalibrator - $ sudo chmod 666 /dev/input/js0 - - $ modprobe joydev - - $ jscal /dev/input/js0 - $ jstest /dev/input/js0 - -* How play game with gamepad if thay not support gamepad? - - http://en.wikipedia.org/wiki/Xpadder - non-free, Windows only diff -r da0024f4f068 -r 2e3bc2435d68 gcc.rst --- a/gcc.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ --*- mode: outline; coding: utf-8 -*- - -* Remove dead code. - - STRIP_DEAD_CODE = -Wl,-static -fvtable-gc -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-s - - -Wl,-static - Link against static libraries. Required for dead-code - elimination. - - -fvtable-gc - C++ virtual method table instrumented with garbage collection - information for the linker. - - -fdata-sections - Keeps data in separate data sections, so they can be discarded - if unused. - - -ffunction-sections - Keeps funcitons in separate data sections, so they can be - discarded if unused. - - -Wl,--gc-sections - Tell the linker to garbage collect and discard unused - sections. - - -s - Strip the debug information, so as to make the code as small - as possible. (I presume that you'd want to do this in a - dead-code removal build.) - -* Map file. - - $ ld -Map=file.map - -or - - $ gcc -Wl,-Map=file.map - -* Predefined macros. - - $ gcc -arch ppc -dM -E - < /dev/null | sort - -* Default search path. - - $ echo | gcc -v -x c -E - - - $ gcc -print-search-dirs -install: ... -programs: ... -libraries: ... - -Use -### in actual invoking: - - $ gcc -### -o foo foo.c - - $ ld --verbose | grep SEARCH_DIR - -'LIBRARY_PATH' and 'LD_LIBRARY_PATH' - - $ cpp -Wp,-v - $ cpp -Wp,-lang-c++,-v - $ cpp -x c++ -Wp,-v diff -r da0024f4f068 -r 2e3bc2435d68 graph.rst --- a/graph.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* General view. - - http://en.wikipedia.org/wiki/List_of_graphing_software - -* RRDtool. - -RRDtool is the OpenSource industry standard, high performance data logging and -graphing system for time series data. Use it to write your custom monitoring -shell scripts or create whole applications using its Perl, Python, Ruby, TCL -or PHP bindings. - - http://oss.oetiker.ch/rrdtool/ - home page - -* Graphviz. - -Graph visualization is a way of representing structural information as -diagrams of abstract graphs and networks. Automatic graph drawing has many -important applications in software engineering, database and web design, -networking, and in visual interfaces for many other domains. - - http://www.graphviz.org/ - home page - -* Gnuplot. - -Gnuplot is a portable command-line driven graphing utility for linux, OS/2, MS -Windows, OSX, VMS, and many other platforms. - -Gnuplot supports many types of plots in either 2D and 3D. It can draw using -lines, points, boxes, contours, vector fields, surfaces, and various -associated text. It also supports various specialized plot types. - -Gnuplot supports many different types of output: interactive screen terminals -(with mouse and hotkey input), direct output to pen plotters or modern -printers, and output to many file formats (eps, fig, jpeg, LaTeX, metafont, -pbm, pdf, png, postscript, svg, ...). - - http://www.gnuplot.info - home page diff -r da0024f4f068 -r 2e3bc2435d68 gui.rst --- a/gui.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ --*- mode: outline -*- - -* About GUI. - -* Widgets. - - http://en.wikipedia.org/wiki/GUI_widget - -** Menu. - - http://en.wikipedia.org/wiki/Menu_%28computing%29 - -*** Context menu. - - http://en.wikipedia.org/wiki/Context_menu - -** Menubar. - - http://en.wikipedia.org/wiki/Menu_bar - -** Toolbar. - - http://en.wikipedia.org/wiki/Toolbar - -** Taskbar. - - http://en.wikipedia.org/wiki/Taskbar - -** Status bar. - - http://en.wikipedia.org/wiki/Status_bar - -** Scrollbar. - - http://en.wikipedia.org/wiki/Scrollbar - -** Progress bar. - - http://en.wikipedia.org/wiki/Progress_bar - -** Infobar. - - http://en.wikipedia.org/wiki/Infobar - -** Tab. - - http://en.wikipedia.org/wiki/Tab_%28GUI%29 - -** Label. - - http://en.wikipedia.org/wiki/Label_%28control%29 - -** Text box. - - http://en.wikipedia.org/wiki/Text_box - -** Check box. - - http://en.wikipedia.org/wiki/Check_box - -** List box. - - http://en.wikipedia.org/wiki/List_box - -** Combo box. - - http://en.wikipedia.org/wiki/Combo_box - -** Drop-down list. - - http://en.wikipedia.org/wiki/Drop-down_list - -** Radio button. - - http://en.wikipedia.org/wiki/Radio_button - -** Spinner. - - http://en.wikipedia.org/wiki/Spinner_%28computing%29 - -** Slider. - - http://en.wikipedia.org/wiki/Slider_%28computing%29 - -** Balloon help. - - http://en.wikipedia.org/wiki/Balloon_help - -** Tooltip. - - http://en.wikipedia.org/wiki/Tooltip - -** Toast. - - http://en.wikipedia.org/wiki/Toast_%28computing%29 - -** Grid view. - - http://en.wikipedia.org/wiki/Grid_view - -** Tree view. - - http://en.wikipedia.org/wiki/Tree_view - -** Disclosure widget. - - http://en.wikipedia.org/wiki/Disclosure_widget - -** Icon. - - http://en.wikipedia.org/wiki/Computer_icon - -** Dialog box. - - http://en.wikipedia.org/wiki/Dialog_box - -** Splash screen. - - http://en.wikipedia.org/wiki/Splash_screen diff -r da0024f4f068 -r 2e3bc2435d68 haskell.rst --- a/haskell.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ --*- mode: outline; coding: utf-8; -*- - -* Installing. - - $ sudo apt-get install ghc6 - diff -r da0024f4f068 -r 2e3bc2435d68 hex.rst --- a/hex.rst Sat Feb 20 15:20:24 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ --*- mode: outline -*- - -* Dump binary data in hex. - - $ od -t x1 ::= | " " - - ::=