<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6734527039160439299</id><updated>2011-09-17T14:05:15.387+03:00</updated><category term='cooking'/><category term='linux'/><category term='gtd'/><category term='math'/><category term='tricks'/><category term='wiki'/><category term='emacs'/><category term='admin'/><category term='devel'/><category term='java'/><category term='nethack'/><category term='arch'/><category term='bug'/><category term='security'/><category term='sci'/><category term='lisp'/><category term='ntp'/><category term='blog'/><category term='utils'/><category term='firefox'/><category term='pgp'/><category term='make'/><category term='posix'/><category term='blogger'/><category term='purchase'/><category term='shell'/><category term='tips'/><category term='debian'/><category term='windows'/><category term='elisp'/><category term='hg'/><category term='vcs'/><category term='cpu'/><category term='backup'/><category term='sh'/><category term='humor'/><title type='text'>Brain Break (ru).</title><subtitle type='html'>it/security/free/math/sci/music
&lt;p&gt;
Русская версия &lt;a href="http://brain-break.blogspot.com"&gt;brain-break.blogspot.com&lt;/a&gt;. Присоединяйтесь!&lt;/p&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-6498771682375188862</id><published>2011-02-27T23:58:00.019+02:00</published><updated>2011-02-28T00:37:37.879+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cooking'/><title type='text'>Блинчики на масленицу.</title><content type='html'>Рецепт прост.
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;
10 ложек пшеничной муки, 2 куриных яйца, 1-2 ложки сахара (если хотите сладкие,
для соленых - щепотку соли), 3 ложки подсолнечного масла и до литра молока.
&lt;p&gt;
﻿Все ингредиенты помещаем в емкость и взбалтываем.

&lt;center&gt;&lt;img src="http://2.bp.blogspot.com/-pUsyulL3dKU/TWrJYl3ry5I/AAAAAAAAAIA/pWuv5mDHOB0/s1600/mybliny_1.jpg"/&gt;&lt;/center&gt;

Для избежания появления комочков сначала добавляем молока совсем немного (как для теста на оладушки) и тщательно перемешиваем. Затем добавить молока так, что бы результирующая субстанция стала жидкой (за поварешкой не тянеться, но и не как вода).
&lt;p&gt;
﻿Для поддевания и переворачивания лопатка мне не по душе - только громадные
встречал в продаже:

&lt;center&gt;&lt;img src="http://4.bp.blogspot.com/-AaSHjWPdL_o/TWrLFnqNhCI/AAAAAAAAAII/in86xyaOWc8/s1600/mybliny_3.jpg"&gt;&lt;/center&gt;
﻿
Используем вилку.
&lt;p&gt;
Дожидаемся пока бока блина подсохнут/порумянеют.
&lt;p&gt;
Я поддеваю блин,
откладываю вилку и двумя руками осторожно переворачиваю. Но в то же время
шустро - печет, да и порваться может:

&lt;center&gt;&lt;img src="http://1.bp.blogspot.com/-VDDLU55uTJU/TWrLhMN03zI/AAAAAAAAAIQ/XhmW7dFJV6U/s1600/mybliny_2.jpg"/&gt;&lt;/center&gt;

﻿Ленивые могут не переворачивать - не будут печь пальцы. Тогда вершок будет сыроват
на вкус.
&lt;p&gt;
﻿Перевернули, секунд 10 подождали и выворачиваем блин на тарелку:

&lt;center&gt;&lt;img src="http://3.bp.blogspot.com/-Fk7-nwiAMvw/TWrL_F7CI8I/AAAAAAAAAIY/gejU83jD9t4/s1600/mybliny_6.jpg"/&gt;&lt;/center&gt;

﻿Изначально я замесил жидковато и маловато.
&lt;p&gt;
﻿Замешиваем дополнительное тесто отдельно, что бы мука комками не взялась:

&lt;center&gt;&lt;img src="http://4.bp.blogspot.com/-wLKDP6fZxHQ/TWrMe-N01AI/AAAAAAAAAIo/ngZyeKXprMs/s1600/mybliny_5.jpg"/&gt;&lt;/center&gt;

﻿и вливаем в основную порцию.
&lt;p&gt;
Заметьте на последней фото салфеточку. После каждого переворачивания блина вытираем пальчики, что бы не замарать кухонную утварь. ВЫ ЖЕ НЕ ОБЛИЗЫВАЕТЕ ПАЛЬЧИКИ, есть ведь не только ВАМ??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-6498771682375188862?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/6498771682375188862/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=6498771682375188862&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6498771682375188862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6498771682375188862'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2011/02/blog-post.html' title='Блинчики на масленицу.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-pUsyulL3dKU/TWrJYl3ry5I/AAAAAAAAAIA/pWuv5mDHOB0/s72-c/mybliny_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-4441211927000253613</id><published>2010-11-09T22:41:00.003+02:00</published><updated>2010-12-21T21:58:06.327+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Число Эрдёша</title><content type='html'>&lt;a href="http://www.boingboing.net/2010/10/11/nobel-prize-winner-a.html"&gt;Появилась новость о Нобелевском лауреате в области физики&lt;/a&gt;, кототый опубликовал статью в соавторстве со своим домашним питомцем - хомячком Ташимой.
&lt;p&gt;
Меня заинтересовала дискусия в коментариях про число Эрдёша.
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;
Из Википедии: &lt;i&gt;Пола Эрдёша опубликовал наибольшее число работ (не меньше 1400) среди всех математиков в истории.&lt;/i&gt;
&lt;p&gt;
Что бы получить число Эрдёша автор должен написать математическую статью в соавторстве с тем кто уже имеет назначеное число Эрдёша:
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;Пола Эрдёша единственный человек с числом ноль.
&lt;li&gt;У непосредственных соавторов Эрдёша это число равно единице.
&lt;li&gt;Соавторы людей с числом Эрдёша, равным n, имеют число Эрдёша n+1.
&lt;/ul&gt;
&lt;p&gt;
Подробнее:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/Число_Эрдёша"&gt;Число Эрдёша в Википедии&lt;/a&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/List_of_people_by_Erdős_number"&gt;Список людей с числом Эрдёша в английской Википедии&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.oakland.edu/enp"&gt;The Erdös Number Project, which studies research collaboration among mathematicians&lt;/a&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-4441211927000253613?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/4441211927000253613/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=4441211927000253613&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/4441211927000253613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/4441211927000253613'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/11/blog-post.html' title='Число Эрдёша'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-2234881617140746121</id><published>2010-08-17T00:47:00.004+03:00</published><updated>2010-12-21T21:57:37.969+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Определение рабочего окружения и возможностей платформы в Emacs</title><content type='html'>&lt;style type="text/css"&gt;
div#code {
  border: dotted 1px #cccccc;
  background: #fffff0;
  width: 95%; overflow: auto;
  line-height: 1em;
  margin: 5px; padding: 5px;
  white-space: pre; font-family: monospace;
}
&lt;/style&gt;

Для правильной работы файла настроек &lt;code&gt;.emacs&lt;/code&gt; на различных платформах и различных версиях Emacs требуется проверять множество условий.
&lt;p&gt;
Я собрал несколько из них.
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;
Итак посмотрите на указанные переменные:
&lt;div id="code"&gt;  emacs-major-version
  emacs-minor-version
  window-system             - 'nil' if in terminal, 'w32' if native Windows build, 'x' if under X Window
  window-system-version     - for windows only
  operating-system-release  - release of the operating system Emacs is running on
  system-configuration      - like configuration triplet: cpu-manufacturer-os
  system-name               - host name of the machine you are running on
  system-time-locale
  system-type               - indicating the type of operating system you are using:
                              'gnu' (GNU Hurd), 'gnu/linux', 'gnu/kfreebsd' (FreeBSD),
                              'darwin' (GNU-Darwin, Mac OS X), 'ms-dos', 'windows-nt', 'cygwin'
  system-uses-terminfo
  window-size-fixed
&lt;/div&gt;

а также указанные функции:

&lt;div id="code"&gt;  (fboundp ...)             - return t if SYMBOL's function definition is not void
  (featurep ...)            - returns t if FEATURE is present in this Emacs
  (display-graphic-p)       - return non-nil if DISPLAY is a graphic display; graphical
                              displays are those which are capable of displaying several
                              frames and several different fonts at once
  (display-multi-font-p)    - same as 'display-graphic-p'
  (display-multi-frame-p)   - same as 'display-graphic-p'
  (display-color-p)         - return t if DISPLAY supports color
  (display-images-p)        - return non-nil if DISPLAY can display images
  (display-grayscale-p)     - return non-nil if frames on DISPLAY can display shades of gray
  (display-mouse-p)         - return non-nil if DISPLAY has a mouse available
  (display-popup-menus-p)   - return non-nil if popup menus are supported on DISPLAY
  (display-selections-p)    - return non-nil if DISPLAY supports selections
&lt;/div&gt;

Виполняйте проверки наподобии того как делается ниже:
&lt;div id="code"&gt;  (when window-system ...)
  (when (eq window-system 'x) ...)
  (when (&gt;= emacs-major-version 22) ...)
  (when (fboundp '...) ...)
  (when (featurep '...) ...)
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-2234881617140746121?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/2234881617140746121/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=2234881617140746121&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/2234881617140746121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/2234881617140746121'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/08/emacs.html' title='Определение рабочего окружения и возможностей платформы в Emacs'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-3241761059038192508</id><published>2010-08-12T21:50:00.002+03:00</published><updated>2010-08-12T22:04:42.190+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Топ 10 правил безопасного написания кода от CERT.</title><content type='html'>&lt;ol&gt;
&lt;li&gt; Проверяйте входящие данные.
&lt;li&gt; Учитывайте предупреждения компилятора.
&lt;li&gt; Проектируйте с возможностью разделения привелегий.
&lt;li&gt; Делайте все прстым.
&lt;li&gt; По умолчанию запрещайте.
&lt;li&gt; Используйте наименее возможные привелегии.
&lt;li&gt; Уберите лишюю информацию при отправке в сторонние системы.
&lt;li&gt; Защищайтесь на всех уровнях.
&lt;li&gt; Используйте хорошие системы контроля качества.
&lt;li&gt; Разработайте правила/стандарт безопасного написания кода.
&lt;/ol&gt;
Подробней можно прочесть на странице &lt;a href="https://www.securecoding.cert.org/confluence/display/seccode/Top+10+Secure+Coding+Practices"&gt;CERT&lt;/a&gt; (на английском).
&lt;p&gt;
См. также:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.cert.org"&gt;домашняя страница CERT&lt;/a&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/CERT_Coordination_Center"&gt;Про CERT на Wikipedia (EN)&lt;/a&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-3241761059038192508?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/3241761059038192508/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=3241761059038192508&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3241761059038192508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3241761059038192508'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/08/10-cert.html' title='Топ 10 правил безопасного написания кода от CERT.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-6388774589165673859</id><published>2010-08-11T22:50:00.007+03:00</published><updated>2010-12-21T21:55:36.566+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpu'/><category scheme='http://www.blogger.com/atom/ns#' term='arch'/><category scheme='http://www.blogger.com/atom/ns#' term='purchase'/><title type='text'>Пробретение процессора Intel Core i5 750</title><content type='html'>Мой брат решил обновить процессор с Athlon X2 до Intel Core i5 750.
&lt;p&gt;
Характеристики процессора Intel Core i5 750:

&lt;div id="code"&gt;Ядер: 4
Потоков: 4
Clock Speed: 2.66 GHz
32-KB instruction and 32-KB data first-level cache (L1) for each core
256-KB shared instruction/data second-level cache (L2) for each core
8-MB shared instruction/data last-level cache (L3), shared among all cores
Lithography: 45 nm
Max TDP: 95 W
TCASE: 72.7°C
Processor Core Power Management: C0, C1, C3, C6
Instruction Set: 32/64-bit
Intel® Virtualization Technology (VT-x)
Enhanced Intel® Speedstep Technology
Execute Disable Bit
Price: 199$
&lt;/div&gt;

&lt;a name='more'&gt;&lt;/a&gt;

&lt;p&gt;
На &lt;a href="http://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i5+750+%40+2.67GHz"&gt; www.cpubenchmark.net&lt;/a&gt; процессор получил 4200 балов.

&lt;p&gt;
AMD позиционирует в той же ценовой категории &lt;a href="http://www.amd.com/us/products/desktop/processors/phenom-ii/Pages/phenom-ii-key-architectural-features.aspx"&gt;Phenom II X6 1055T&lt;/a&gt;. Смотрите ехидную сноску на amd.com:

&lt;div id="code"&gt;As of 4/27 AMD offers a six core consumer CPU at a lower price than
competing four core consumer CPUs from Intel. Intel Core i5 750
priced at $199 USD as advertised on www.newegg.com on 4/15.
AMD's SEP for the AMD Phenom II X6 1055T processor is $199.
&lt;/div&gt;

&lt;p&gt;
По поизводительности Intel Core i5 750 соответствует &lt;a href="http://www.cpubenchmark.net/cpu.php?cpu=AMD+Phenom+II+X4+965"&gt;AMD Phenom II X4 965&lt;/a&gt; при разнице цен: 199$ - 180$ = 19$.

&lt;p&gt;
При этом у обоих &lt;a href="http://www.amd.com/us/products/desktop/processors/phenom-ii/Pages/phenom-ii-model-number-comparison.aspx"&gt;AMD Phenom II X4 965 и Phenom II X6 1055T&lt;/a&gt; рассеиваемая тепловая мощность 125 ватт по сравнению с 95 ватт у Intel Core i5 750. Хотя все процессоры поддерживают технологии энергосбережения.

&lt;p&gt;
См. еще:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Intel_Core_i5"&gt;Описание Intel Core i5 на en.wikipadia&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.cpubenchmark.net/"&gt;www.cpubenchmark.net&lt;/a&gt; - обширное сравнение производительности и цен десктопных процессоров
&lt;li&gt;&lt;a href="http://www.intel.com/design/corei5/documentation.htm"&gt;офф. документация на Intel Core i5&lt;/a&gt;
&lt;li&gt;&lt;a href="http://download.intel.com/design/processor/datashts/322164.pdf"&gt;Intel® Core™ i7-800 and i5-700 Desktop Processor Series Datasheet - Volume 1 (pdf)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://ark.intel.com/Product.aspx?id=42915"&gt;Описание Intel Core i5 750 на intel.com&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.amd.com/us/products/Pages/processors.aspx"&gt;Описание процессоров AMD на amd.com&lt;/a&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-6388774589165673859?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/6388774589165673859/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=6388774589165673859&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6388774589165673859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6388774589165673859'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/08/intel-core-i5-750.html' title='Пробретение процессора Intel Core i5 750'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-4261395810039581442</id><published>2010-08-06T23:32:00.006+03:00</published><updated>2010-12-21T21:56:54.537+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='posix'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='utils'/><title type='text'>Сортировка с помощью утилиты sort элементов в строке.</title><content type='html'>Предположим мы имеем строку:
&lt;div id="code"&gt;str="item4, item2, item3, item2, ..."
&lt;/div&gt;
и хотим отсортировать ее элементы без повторений в shell-скрипте.
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;
Для сортировки без повторений логично воспользоваться &lt;code&gt;sort -u&lt;/code&gt;. Итак мы должны преобразовать строку, разделенную запятыми, в многострочную, отсортировать и вернуть обратно исходное форматирование.
&lt;p&gt;
&lt;a href="http://beggytech.blogspot.com/2008/10/one-more-note.html"&gt;В блоге одного приятного человека&lt;/a&gt; описан вариант с использованием мощной утилиты &lt;code&gt;sed&lt;/code&gt;, которую я стараюсь избегать из за необходимости перечитывать много документации по &lt;code&gt;sed&lt;/code&gt; долго отлаживать код. Вот одно из предлагаемых решений:
&lt;div id="code"&gt;echo "item4, item2, item3, item2, ..." \
  | sed "s| *, *|\n|g" \
  | grep -v "^ *$" \
  | sort --unique \
  | sed -e ':x;$by;N;bx' -e ':y;s/\n/, /g'
&lt;/div&gt;
&lt;p&gt;
Я попытался использовать утилиту &lt;code&gt;awk&lt;/code&gt;. Я думаю следующий скрипт выглядит нагляднее и в принципе его можно набрать с первого раза и даже правильно (ну если помнить о &lt;code&gt;RS&lt;/code&gt; и &lt;code&gt;ORS&lt;/code&gt;):
&lt;div id="code"&gt;echo "item4, item2, item3, item2, ..." \
  | tr -d " \n" \
  | awk 'BEGIN{RS=",";ORS="\n"}{print $0}' \
  | sort -u \
  | awk '{ORS=", "}{print $1}'
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-4261395810039581442?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/4261395810039581442/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=4261395810039581442&amp;isPopup=true' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/4261395810039581442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/4261395810039581442'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/08/sort.html' title='Сортировка с помощью утилиты sort элементов в строке.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-123123868482151501</id><published>2010-03-31T23:21:00.003+03:00</published><updated>2010-03-31T23:36:16.811+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sh'/><category scheme='http://www.blogger.com/atom/ns#' term='posix'/><title type='text'>Магия кавычек в POSIX sh.</title><content type='html'>﻿Столкнулся с кодом, на который ругался интерпретатор:
&lt;div id=code&gt;if [ -n $COMSPEC -a -n $WINDIR ]; then ...&lt;/div&gt;
Оказывается переменная окружения COMSPEC раскрывалась в пустую строку и &lt;code&gt;-n&lt;/code&gt; скушало &lt;code&gt;-a&lt;/code&gt;!
&lt;p&gt;
Подумал я взять подвыражения по бокам &lt;code&gt;-a&lt;/code&gt; в скобки (утилита &lt;code&gt;test&lt;/code&gt; позволяет группировать условия, заключая их в скобки):
&lt;div id=code&gt;if [ \( -n $COMSPEC \) -a  \( -n $WINDIR \) ]; then ...&lt;/div&gt;
Но снова интерпретатор ругается на недостающую закрывающуюся круглую скобку...
&lt;p&gt;
Тут до меня доходит что у &lt;code&gt;-n&lt;/code&gt; аппетит хороший и нужно гарантировать ему аргумент! Потому заключаем переменные окружения в двойные кавычки (которые позволяют подстановки в отличии от одинарных кавычек):
&lt;div id=code&gt;if [ -n "$COMSPEC" -a -n "$WINDIR" ]; then ...&lt;/div&gt;
Смотрите что делают кавычки с нижеприведенной командой:
&lt;div id=code&gt;  $ for item in a "" b; do echo $item; done
a

b
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-123123868482151501?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/123123868482151501/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=123123868482151501&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/123123868482151501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/123123868482151501'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/03/posix-sh.html' title='Магия кавычек в POSIX sh.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-3107042695706130296</id><published>2010-03-07T13:37:00.009+02:00</published><updated>2010-03-09T12:43:45.908+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>emacs.info в Debian.</title><content type='html'>Политика проекта Debian запрещает размещение пакетов с контентом, покрытым лицензией FDL, если в тексте имеются инвариантные секции.
&lt;p&gt;
Потому мантейнеры пакета Emacs исключают emacs.info, eintr.info, elisp.info и некоторые другие документы из пакета.
&lt;div class="fullpost"&gt;
Система документации Info очень удобна для пользователей Emacs. В основном за счет легкости пользования поиском.
&lt;p&gt;
Можно было бы получить &lt;code&gt;emacs-no-chunk.html&lt;/code&gt;, открыть html в Firefox и с включенным &lt;code&gt;"Search for text when I start typing"&lt;/code&gt; также легко искать текст, но:
&lt;ul&gt;
&lt;li&gt;приходится помнить/искать где лежит &lt;code&gt;emacs-no-chunk.html&lt;/code&gt;
&lt;li&gt;документ большой ~= 1 MiB, долго загружается Firefox'ом и немного натупляет Firefox
&lt;/ul&gt;
&lt;p&gt;
И так нужно поступать с каждым документом, тогда как при использовании site wide installed info по &lt;code&gt;C-h i&lt;/code&gt; видны и искабельны by &lt;code&gt;s&lt;/code&gt; или &lt;code&gt;C-s&lt;/code&gt; все info-файлы.
&lt;p&gt;
Из дистрибутива исходных текстов Emacs извлекаем &lt;code&gt;*.info&lt;/code&gt; файлы:
&lt;div id=code&gt; $ tar zxf emacs-22.2.tar.gz
 $ mkdir ~/usr/share/info
 $ cp emacs-22.2/info/* ~/usr/share/info
&lt;/div&gt;
&lt;p&gt;
О наличии &lt;code&gt;*.info&lt;/code&gt; файлов Emacs'у можно сказать переменной среды &lt;code&gt;INFOPATH&lt;/code&gt;:
&lt;div id=code&gt; $ echo export INFOPATH=~/usr/share/info: &gt; ~/.bash_profile
&lt;/div&gt;
Двоеточие в конце необходимо как признак включать пути к &lt;code&gt;*.info&lt;/code&gt;, установленными с Emacs'ом.
&lt;p&gt;
Я пошел по другому пути, что бы не прописывать на каждом хосте &lt;code&gt;INFOPATH&lt;/code&gt;, добавил следующее в .emacs:
&lt;div id=code&gt;;; Because of Debian policy documentation covered by FDL license
;; with invariant sections is not allowed in packets
;; repository tree. So it must be installed manually.
;; My usual configuration is install user local software
;; into ~/usr DISTDIR.
(unless (getenv "INFOPATH")
  (setenv "INFOPATH" "~/usr/share/info:"))
&lt;/div&gt;
&lt;p&gt;
&lt;code&gt;(unless (getenv "INFOPATH")&lt;/code&gt; позволит использовать переменную среды &lt;code&gt;INFOPATH&lt;/code&gt;, которую я обычно устанавливаю в Windows для чтения info, поставляемых с MinGW/MSYS/Cygwin, из Emacs, но об этом в следующий раз.
&lt;p&gt;
Также это удобно тем, что собранные вручную программы я обычно конфигурирую таким образом:
&lt;div id=code&gt; $ configure --prefix=$HOME/use&lt;/div&gt;
потому их info документация автоматически становится доступной из Emacs.
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.gnu.org/copyleft/fdl.html"&gt;Текст FDL на gnu.org (EN)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/FDL"&gt;Статья о FDL на русской Wikipedia&lt;/a&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-3107042695706130296?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/3107042695706130296/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=3107042695706130296&amp;isPopup=true' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3107042695706130296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3107042695706130296'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/03/emacsinfo-debian.html' title='emacs.info в Debian.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-9100389558444015053</id><published>2010-03-01T22:32:00.003+02:00</published><updated>2010-03-10T18:54:14.220+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Логическая задача Льюиса Керрола.</title><content type='html'>Попробуйте прийти к заключению:
&lt;div id=code&gt;Ни один разумный поросенок не отправится путешествовать на воздушном шаре.
&lt;/div&gt;
&lt;div class="fullpost"&gt;
используя утверждения:

&lt;ul&gt;
&lt;li&gt;1. Всякий, кто не танцует на туго натянутом канате и не ест пирожков за одни пенс, стар.
&lt;li&gt;2. Со свиньями, которые временами испытывают головокружение, обращаются почтительно.
&lt;li&gt;3. Разумная свинья, отправляясь в путешествие на воздушном шаре, берет с собой зонтик.
&lt;li&gt;4. Не следует завтракать в присутствии посторонних тому, кто имеет смешной вид и ест пирожки за один пенс.
&lt;li&gt;5. Юные существа, отправляющиеся в путешествие на воздушном шаре, временами испытывают головокружение.
&lt;li&gt;6. Жирные существа, имеющие смешной вид, могут завтракать при посторонних, если только они не танцуют на туго натянутом канате.
&lt;li&gt;7. Ни одно разумное существо не станет танцевать на туго натянутом канате, если оно временами испытывает головокружение.
&lt;li&gt;8. Свинья с зонтиком имеет смешной вид.
&lt;li&gt;9. Все, кто не танцует на туго натянутом канате и с кем обращаются почтительно, жирны.
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;Update:&lt;/b&gt;Я смог решить задачу только используя Reductio Ad Absurdum. Скорее всего в интуиционистской логике задача не решаема, т.е. прямого доказательства нет.
&lt;p&gt;
&lt;a href="http://en.wikipedia.org/wiki/Reductio_Ad_Absurdum"&gt;http://en.wikipedia.org/wiki/Reductio_Ad_Absurdum&lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-9100389558444015053?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/9100389558444015053/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=9100389558444015053&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/9100389558444015053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/9100389558444015053'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/03/blog-post.html' title='Логическая задача Льюиса Керрола.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-6474722255802693974</id><published>2010-02-21T23:16:00.005+02:00</published><updated>2010-02-21T23:34:44.990+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Игра в неправильные кубики.</title><content type='html'>Игра в кубики: 2 игрока бросают (каждый свой) кубик и у кого выпало большее число, тот и выиграл.
&lt;p&gt;
Если играть кубиками с развертками:
&lt;div id=code&gt; 0    2    5
404  222  111
 4    6    5
 4    6    5
&lt;/div&gt;
то какой бы кубик первый игрок не выбрал второй может выбрать такой, что будет выигрывать с вероятностью 2/3.
&lt;p&gt;
Действительно:
&lt;div id=code&gt;if first choose third, probability = ((4+2)*3 + 2*3)/36 = 2/3
if second choose first, probability = (2*4 + 4*4)/36 = 2/3
if third choose second, probability = (3*(4+2) + 3*2)/36 = 2/3
&lt;/div&gt;
&lt;div id=code&gt;(1)==&gt;(3)==&gt;(2)==&gt;(1)==&gt;...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-6474722255802693974?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/6474722255802693974/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=6474722255802693974&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6474722255802693974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6474722255802693974'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/02/blog-post_21.html' title='Игра в неправильные кубики.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-5240531259193504726</id><published>2010-01-13T22:40:00.005+02:00</published><updated>2010-01-13T23:08:08.721+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Высказывание Джеймса Гуслинга о динамических языках.</title><content type='html'>В статье "The Art of Lisp &amp; Writing" Ричарда Гебриела мне понравилась цитата:
&lt;p&gt;
&lt;div id="code"&gt;Very dynamic languages like Lisp, TCL, and Smalltalk are often
used for prototyping. One of the reasons for their success at
this is that they are very robust.... Another reason ... is that
they don't require you to pin down decisions early on. Java has
exactly the opposite property: it forces you to make choices
explicitly.

                      -– James Gosling, Java: An Overview
&lt;/div&gt;
&lt;p&gt;
Действительно когда пытаешься быстро написать прототип или проверить концепцию, избирая языком программирования Java, приходится возиться с различными мелочами, отнимающими только время.
&lt;p&gt;
Создание абстракции потребует объявление класса и написания кучи ключевых слов. Если изменить концепцию - весь код можно выбрасывать - ведь код на Java это инструкции для манипуляции состоянием объектов. Действительной логики совсем немного.
&lt;p&gt;
Сравнение хорошо почувствуется если почитать статью "Why Functional Programming Matters" - все примеры демонстрируют обобщенность полученного кода, реализации концепции и возможность применения ее к различным по структуре данным.
&lt;p&gt;
См. также:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dreamsongs.com/ArtOfLisp.html"&gt;The Art of Lisp &amp; Writing by Richard P. Gabriel&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html"&gt;Why Functional Programming Matters by John Hughes&lt;/a&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-5240531259193504726?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/5240531259193504726/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=5240531259193504726&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5240531259193504726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5240531259193504726'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/01/blog-post.html' title='Высказывание Джеймса Гуслинга о динамических языках.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-7239866731904908203</id><published>2010-01-09T21:53:00.007+02:00</published><updated>2010-01-09T23:01:17.959+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sci'/><title type='text'>SCIgen</title><content type='html'>SCIgen - программа генерирующая псевдонаучные статьи и имеются случаи когда их принимали в печать!
&lt;div class="fullpost"&gt;
&lt;p&gt;
Значимость науки обусловила вовлечения громадного числа людей и денег в эту сферу. А где деньги - там и бюрократия с коррупцией.
&lt;p&gt;
Дипломы покупают, защиты покупают, статьи пишут для галочки, гоняются за грантами.
&lt;p&gt;
Для получения научного звания (научной степени) во многих странах требуется определенное количество опубликованных статьей в научных журналах. Не все гении, а звание хочется, потому и появляются статьи типа "О низкотемпературной протонной релаксации и динамическом охлаждении".
&lt;p&gt;
Для обслуживания такого рода клиентов работают научные журналы. Буквально печать производится за средства авторов!
&lt;p&gt;
Ребята из MIT решили посмеяться над системой. Написали программу для генерации бреда, похожего на научную статью и отправили в качестве доклада на конференции - и статья прошла!
&lt;p&gt;
Я посетил домашнюю страницу проекта - &lt;a href="http://pdos.csail.mit.edu/scigen/"&gt;http://pdos.csail.mit.edu/scigen/&lt;/a&gt;. В предложенную форму вбил свое имя отчество, нажал кнопку получить - и вуаля статья готова:
&lt;p&gt;
&lt;a href="http://apps.pdos.lcs.mit.edu/scicache/90/scimakelatex.40484.Oleksandr+Gavenko.html"&gt;On the Evaluation of 16 Bit Architectures&lt;/a&gt;
&lt;p&gt;
Как говорится в моей новоиспеченной статье:
&lt;div id="code"&gt;After several years of difficult programming,
we finally have a working implementation of our methodology.
&lt;/div&gt;
&lt;p&gt;
Смотри также:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pdos.csail.mit.edu/scigen/"&gt;SCIgen home page&lt;/a&gt;
&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/SCIgen"&gt;SCIgen на Wikipedia (ru)&lt;/a&gt; - здесь вы найдете веселые истории.
&lt;li&gt;&lt;a href="http://pdos.csail.mit.edu/scigen/blog/"&gt;Блог SCIgen с описанием успешных публикаций.&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.scientific.ru/trv/2008/013/korchevatel.html"&gt;Корчеватель на русском ))&lt;/a&gt; - эта статья напечаталась в русском журнале!
&lt;li&gt;&lt;a href=""&gt;Определение научного журнала на Wikipedia (ru)&lt;/a&gt;
&lt;/ul&gt;

&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-7239866731904908203?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/7239866731904908203/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=7239866731904908203&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/7239866731904908203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/7239866731904908203'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2010/01/scigen.html' title='SCIgen'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-8830668294166317556</id><published>2009-12-24T23:08:00.006+02:00</published><updated>2009-12-24T23:40:59.106+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Пасхальные яйца в программах.</title><content type='html'>Пасхальными яйцами (easter eggs) в ПО называют шуточные закладки, оставленные разработчиками.
&lt;div class="fullpost"&gt;
Например это может быть сообщение, картинка, музыка, игра. Иногда разработчики списывают свои имена.
&lt;p&gt;
Пасхальные яйца обычно не влияют на нормальную работу программы, для их активации пользователю потребуется выполнить "магическую" последовательность действий.
&lt;p&gt;
В коммерческих продуктах пресекается встраивание пасхальных яиц, т.к. их исходный код может быть потенциальной дырой в безопасности продукта. Так было найдено множество пасхальных яиц в продуктах Microsoft, но после начала участия Microsoft в программе Trustworthy Computing программистам шутить запретили.
&lt;p&gt;
Одним из пасхальных яиц является появление отрывков из книги "The Book of Mozilla"  если в строку адреса ввести URL: &lt;code&gt;about:mozilla&lt;/code&gt;. Данный URL приводят в качестве примера в черновике спецификации схемы URL about: &lt;a href="http://tools.ietf.org/html/draft-holsten-about-uri-scheme"&gt;http://tools.ietf.org/html/draft-holsten-about-uri-scheme&lt;/a&gt;.
&lt;p&gt;
Текст отрывков вымышленной книги эзотерического характера и в переносном смысле говорит о восстании из пепла свободного браузера.
&lt;p&gt;
Интересно что разработчики Microsoft ответили "синим экраном смерти" - если набрать URL &lt;code&gt;about:mozzila&lt;/code&gt; в Internet Explorer в Windows XP до SP1 включая. Указанная страница позже таким образом не доступна, ее можно увидеть введя URL: &lt;code&gt;res://mshtml.dll/about.moz&lt;/code&gt;
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/Пасхальное_яйцо_%28виртуальное%29"&gt; Пасхальное яйцо на wikipadia (ru)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Easter_egg_%28media%29"&gt;Easter egg на wikipedia (en)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Trustworthy_Computing#Microsoft_and_Trustworthy_Computing"&gt; Microsoft and Trustworthy Computing на wikipedia (en)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Easter_eggs_in_Microsoft_products"&gt; Easter eggs in Microsoft products на wikipedia (en)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/%D0%9A%D0%BD%D0%B8%D0%B3%D0%B0_Mozilla"&gt;The Book of Mozilla на wikipedia (ru)&lt;/a&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Book_of_Mozilla"&gt;The Book of Mozilla на wikipedia (en)&lt;/a&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-8830668294166317556?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/8830668294166317556/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=8830668294166317556&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/8830668294166317556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/8830668294166317556'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/12/blog-post.html' title='Пасхальные яйца в программах.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-946816089256015841</id><published>2009-12-20T21:49:00.002+02:00</published><updated>2009-12-20T21:55:39.070+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Непоследовательный калькулятор Windows.</title><content type='html'>Несогласованность режимов работы стандартного калькулятора Windows дает различные результаты при нажатии одних и тех же клавиш.
&lt;div class="fullpost"&gt;
Запустите калькулятор:
&lt;div id="code"&gt;Win+R calc RET&lt;/div&gt;
Нажмите последовательно:
&lt;div id="code"&gt;2 + 2 * 2 RET&lt;/div&gt;
в режимаж "Вид ==&amp;gt; Обычный" и "Вид ==&amp;gt; Инженерный". Результат в первом случае - 8, во втором - 6.
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-946816089256015841?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/946816089256015841/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=946816089256015841&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/946816089256015841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/946816089256015841'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/12/windows.html' title='Непоследовательный калькулятор Windows.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-7923760521503235591</id><published>2009-11-22T11:09:00.009+02:00</published><updated>2009-11-22T11:57:43.063+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nethack'/><category scheme='http://www.blogger.com/atom/ns#' term='make'/><title type='text'>Сборка NetHack в MSYS/MinGW (Windows).</title><content type='html'>Давно хотел собрать NetHack в Windows ради спортивного интереса.
&lt;div class="fullpost"&gt;
&lt;ul&gt;
&lt;li&gt;
Получил исходные тексты: &lt;i&gt;http://nethack.org/v343/download-src.html&lt;/i&gt;.
&lt;li&gt;
Получил работающую среду MSYS/MinGW: &lt;i&gt;http://www.mingw.org&lt;/i&gt;.
&lt;li&gt;
Почитал &lt;tt&gt;nethack-3.4.3/sys/winnt/Install.nt&lt;/tt&gt;. Встретил команду &lt;tt&gt;mingw32-make -f Makefile.gcc install&lt;/tt&gt;, но как оказалось &lt;tt&gt;Makefile.gcc&lt;/tt&gt; рассчитан на использование &lt;tt&gt;SHELL = cmd.exe&lt;/tt&gt;, как я понимаю &lt;tt&gt;mingw32-make&lt;/tt&gt;. Я же решил собирать &lt;tt&gt;make&lt;/tt&gt; с &lt;tt&gt;SHELL = /bin/sh&lt;/tt&gt;.
&lt;li&gt;
В &lt;tt&gt;Makefile.gcc&lt;/tt&gt; установил значение переменной &lt;tt&gt;GRAPHICAL&lt;/tt&gt; в "Y" для сборки также и GUI версии.
&lt;li&gt;
Запустил &lt;tt&gt;nhsetup.bat&lt;/tt&gt; (скрипт кроме всего копирует &lt;tt&gt;Makefile.gcc&lt;/tt&gt; в &lt;tt&gt;nethack-3.4.3/src&lt;/tt&gt;)
&lt;li&gt;
Поправил &lt;tt&gt;nethack-3.4.3/src/Makefile.gcc&lt;/tt&gt; с win-shell (cmd.exe) на unix-shell (/bin/sh):
&lt;div id="code"&gt; $(subst /,\,copy nhdat                $(GAMEDIR))
&lt;/div&gt;
на
&lt;div id="code"&gt; cp nhdat                $(GAMEDIR)
&lt;/div&gt;
регулярным выражением &lt;tt&gt;s=$(subst /,\\,copy \(.*\))=cp \1=&lt;/tt&gt;
&lt;li&gt;
&lt;div id="code"&gt; $(subst /,\,if exist $(GAMEDIR)/makefile del $(GAMEDIR)/makefile)
&lt;/div&gt;
на
&lt;div id="code"&gt; [ -f $(GAMEDIR)/makefile ] &amp;&amp; rm $(GAMEDIR)/makefile || :
&lt;/div&gt;
&lt;li&gt;
&lt;div id="code"&gt; @copy $&amp;lt; $@
&lt;/div&gt;
на
&lt;div id="code"&gt; cp $&amp;lt; $@
&lt;/div&gt;
подстановкой &lt;tt&gt;copy&lt;/tt&gt; на &lt;tt&gt;cp&lt;/tt&gt;
&lt;li&gt;
&lt;div id="code"&gt; $(subst /,\,@if not exist $(GAMEDIR)/*.* echo creating directory $(GAMEDIR))
 $(subst /,\,@if not exist $(GAMEDIR)/*.* mkdir $(GAMEDIR))
 $(subst /,\,@echo directory created &amp;gt; $@)
&lt;/div&gt;
на
&lt;div id="code"&gt; mkdir $(GAMEDIR)
&lt;/div&gt;
&lt;li&gt;
И т.д.
&lt;li&gt;
Затем запустил сборку:
&lt;div id="code"&gt; $ cd nethack-3.4.3/src
 $ make -f Makefile.gcc install
&lt;/div&gt;
&lt;li&gt;
В каталоге &lt;tt&gt;nethack-3.4.3/binary&lt;/tt&gt; появились &lt;tt&gt;NetHack.exe&lt;/tt&gt; и &lt;tt&gt;NetHackW.exe&lt;/tt&gt;.
&lt;/ul&gt;
См. также
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nethack.wikia.com/wiki/Compiling#On_Windows"&gt;http://nethack.wikia.com/wiki/Compiling#On_Windows&lt;/a&gt;
&lt;li&gt;&lt;a href="http://www.mingw.org"&gt;http://www.mingw.org&lt;/a&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-7923760521503235591?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/7923760521503235591/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=7923760521503235591&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/7923760521503235591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/7923760521503235591'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/11/nethack-msysmingw-windows.html' title='Сборка NetHack в MSYS/MinGW (Windows).'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-3239445569153656888</id><published>2009-11-08T21:30:00.003+02:00</published><updated>2009-11-08T22:15:48.037+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>Мои настройки blogger.</title><content type='html'>Я записал полезные настройки blogger, что б не забыть.
&lt;p&gt;
Первым делом при создании нового блога на blogger я устанавливаю эти настройки!
&lt;div class="fullpost"&gt;
&lt;ul&gt;
&lt;li&gt; Отключить WYSWYG редактор.
    &lt;div id="code"&gt;Settings ==&amp;gt; Basic ==&amp;gt; Show Compose Mode for all your blogs? ==&amp;gt; No.
    &lt;/div&gt;
    Я редактирую статьи в чистом HTML для полного контроля над видом статьи
    (WYSWYG редактор вставляет свои теги, они могут портить вид).
&lt;li&gt; Включить ссылки быстрого редактирования статьи.
    &lt;div id="code"&gt;Settings ==&amp;gt; Basic ==&amp;gt; Show Quick Editing on your Blog? ==&amp;gt; Yes.
    &lt;/div&gt;
    Не то что б я их использую, но оставил в шаблоне код, который создает их.
&lt;li&gt; Открывать новую странице для создания комментария.
    &lt;div id="code"&gt;Settings ==&amp;gt; Comments ==&amp;gt; Comment Form Placement ==&amp;gt; Pop-up window.
    &lt;/div&gt;
    Уменьшается использование площади страницы и чуть чуть сохраняет трафик
    тем кто не собирается оставлять комментарий.
&lt;li&gt; Только авторизированные пользователи могут оставлять комментарии.
    &lt;div id="code"&gt;Settings ==&amp;gt; Comments ==&amp;gt; Who Can Comment? ==&amp;gt; Registered Users.
    &lt;/div&gt;
    Нет anonymous. Не забудьте включить OpenID!
&lt;li&gt; Отключить backlinks.
    &lt;div id="code"&gt;Settings ==&amp;gt; Comments ==&amp;gt; Backlinks ==&amp;gt; Hide.
Settings ==&amp;gt; Comments ==&amp;gt; Backlinks ==&amp;gt; Backlinks Default for Posts ==&amp;gt; New post do not have backlinks.
    &lt;/div&gt;
    Мне они не нужны (я даже удалил код из шаблона, который создает backlinks).
&lt;li&gt; Использовать CAPTCHA.
    &lt;div id="code"&gt;Settings ==&amp;gt; Comments ==&amp;gt; Backlinks ==&amp;gt; Show word verification for comments? ==&amp;gt; Yes.
    &lt;/div&gt;
    Остановим спам!
&lt;li&gt; Сообщать о новых комментариях по email.
    &lt;div id="code"&gt;Settings ==&amp;gt; Comments ==&amp;gt; Backlinks ==&amp;gt; Comment Notification Email ==&amp;gt; &amp;lt;Enter emails&amp;gt;.
    &lt;/div&gt;
    Мне нужно знать что кто то оставил комментарий.
&lt;li&gt; Не вставлять &amp;lt;br/&amp;gt; после LF.
    &lt;div id="code"&gt;Settings ==&amp;gt; Formatting ==&amp;gt; Convert line breaks ==&amp;gt; No.
    &lt;/div&gt;
    Я хочу иметь полный контроль дан содержимым статьи.
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-3239445569153656888?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/3239445569153656888/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=3239445569153656888&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3239445569153656888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3239445569153656888'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/11/blogger.html' title='Мои настройки blogger.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-5525758930122956224</id><published>2009-11-04T22:34:00.004+02:00</published><updated>2009-11-04T23:11:34.228+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Переименование пользователя в Linux.</title><content type='html'>Необходимо переименовать пользователя и его домашний каталог.
&lt;div class="fullpost"&gt;
Собственно переименовать пользователя легко (используется дистрибутив Debian). От имени root выполняем команды:
&lt;div id="code"&gt;  # groupmod --new-name newuser olduser
  # usermod --login newuser --home /home/newhome olduser
&lt;/div&gt;
Перемещение домашнего каталога командой &lt;code&gt;mv&lt;/code&gt; не ограничится:
&lt;div id="code"&gt;  # mv /home/oldhome  /home/newhome
&lt;/div&gt;
Множество программ, используемых пользователем, использует файлы настроек (dot-файлы). Их придется править вручную ((. В каждом случае решение о правке приходится принимать человеку на основании знания форматов конфигурационных файлов.
&lt;p&gt;
Находим все вхождения слова &lt;code&gt;olduser&lt;/code&gt; в конфигурационных файлах:
&lt;div id="code"&gt;  # find /home/newhome -maxdepth 2 -type f | xargs grep -Hn
&lt;/div&gt;
Обычно пользовательские конфигурационные файлы находятся в корне домашнего каталога пользователя или в соответствующем подкаталоге. Потому глубина поиска ограничена 2.
&lt;p&gt;
Можно было использовать следующий способ поиска вхождений:
&lt;div id="code"&gt;  # grep -Hn user .* .*/*
&lt;/div&gt;
правда некоторые программы отклоняются от стандартов именования конфигурационных файлов (или каталогов с конфигурационными файлами) - их названия не начинается с точки (dot).
&lt;p&gt;
Я для правок использовал команду Emacs &lt;code&gt;grep-find&lt;/code&gt;, это позволяло мне быстро переходить в место вхождения заменяемого слова:
&lt;div id="code"&gt;C-x d C-a C-k /home/newuser RET
С-x grep-find grep -Hn user .* .*/* RET
C-x ` =edit= C-x ` =edit= C-x ` =edit= C-x ` ....
&lt;/div&gt;
Приятного Вам переименовывания пользователей!
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-5525758930122956224?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/5525758930122956224/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=5525758930122956224&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5525758930122956224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5525758930122956224'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/11/linux.html' title='Переименование пользователя в Linux.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-5572304680393033712</id><published>2009-10-11T21:42:00.004+03:00</published><updated>2009-10-11T21:50:59.978+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Сортируем без повторений в Emacs.</title><content type='html'>Только для сортировки строк в Emacs имеется встроенная функция: &lt;code&gt;C-x sort-lines&lt;/code&gt;.
&lt;p&gt;
Для сортировки без повторений выполняем:
&lt;ul&gt;
&lt;li&gt;выделить область
&lt;li&gt;&lt;code&gt;C-u M-| sort -u RET&lt;code&gt;
&lt;/ul&gt;
&lt;p&gt;
С включенными режимами &lt;code&gt;transient-mark-mode&lt;/code&gt; и &lt;code&gt;delete-selection-mode&lt;/code&gt;  можно сразу заменить выделенную область отсортированными без повторения строками:
&lt;ul&gt;
&lt;li&gt;выделить область
&lt;li&gt;&lt;code&gt;M-| sort -u RET&lt;code&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-5572304680393033712?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/5572304680393033712/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=5572304680393033712&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5572304680393033712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5572304680393033712'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/10/emacs.html' title='Сортируем без повторений в Emacs.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-2868764710316398828</id><published>2009-10-11T18:59:00.004+03:00</published><updated>2009-10-11T19:09:48.275+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntp'/><category scheme='http://www.blogger.com/atom/ns#' term='pgp'/><title type='text'>mit.edu в помощь!</title><content type='html'>Кто не помнит название Массачусетского технологического института? Это имя помнят все и можно знания обратить в пользу!
&lt;div class="fullpost"&gt;
&lt;p&gt;Это я набираю по памяти:
&lt;div id="code"&gt;  $ sudo ntpdate time.mit.edu
&lt;/div&gt;
и
&lt;div id="code"&gt;  $ gpg --keyserver pgp.mit.edu --search &lt;put-pgp-id&gt; 
&lt;/div&gt;
Раньше приходилось гуглить NTP и PGP сервера каждый раз когда понадобятся ))
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-2868764710316398828?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/2868764710316398828/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=2868764710316398828&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/2868764710316398828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/2868764710316398828'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/10/mitedu.html' title='mit.edu в помощь!'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-900866843528769314</id><published>2009-10-09T22:16:00.007+03:00</published><updated>2009-10-09T22:41:27.436+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='gtd'/><title type='text'>TiddlyWiki.</title><content type='html'>Оффлайн wiki-движок одним html файлом - такое бывает?
&lt;div class="fullpost"&gt;
Проект &lt;a href="http://www.tiddlywiki.com/"&gt;TiddlyWiki&lt;/a&gt; предлагает полноценный wiki одной html страницей.
&lt;p&gt;
Работает в Firefox, Explorer, Safari и Opera.
&lt;p&gt;
Движок wiki активно использует JavaScript. Движок и данные размещаются в одном и том же html файле.
&lt;p&gt;
Компактность движка (~340 KiB) и использование одного файла в качестве хранилища позволяют с легкостью переносить статьи с компьютера на компьютер, хранить wiki на внешнем носителе (например USB stick).
&lt;p&gt;
Проект выпущен на условиях BSD лицензии (делай что хочешь - только авторов и лицензионное соглашение из исходного текста не выбрасывай).
&lt;p&gt;
Ссылки:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tiddlywiki.com"&gt;http://www.tiddlywiki.com&lt;/a&gt; - домашняя страничка
&lt;li&gt;&lt;a href="http://tiddlywiki.org/wiki/Main_Page"&gt;http://tiddlywiki.org/wiki/Main_Page&lt;/a&gt; - wiki, посвященная TiddlyWiki
&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/TiddlyWiki"&gt;http://ru.wikipedia.org/wiki/TiddlyWiki&lt;/a&gt; - статья в Wikipedia
&lt;li&gt;&lt;a href="http://tiddlyspot.com"&gt;http://tiddlyspot.com&lt;/a&gt; - online сервис, предлагающий бесплатно использовать TiddlyWiki
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-900866843528769314?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/900866843528769314/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=900866843528769314&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/900866843528769314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/900866843528769314'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/10/tiddlywiki.html' title='TiddlyWiki.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-3353041942461202526</id><published>2009-10-04T22:15:00.004+03:00</published><updated>2009-10-05T10:33:19.035+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Резервное копирование, основные правила.</title><content type='html'>Ниже рассмотрены "общие" правила, которые следует соблюдать при создании и хранении резервных данных.
&lt;div class="fullpost"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Создавайте резервные копии.&lt;/span&gt; Ваша данные имеют стоимость, вы же не хотите их потерять! В зависимости от важности данных и их объема определитесь с местом размещения резервных копий, сроком хранения резервных копий, какие данные требуют резервирования и как часто резервное копирование будет выполнятся.
&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Максимально автоматизируйте процесс создания резервных копий.&lt;/span&gt; Что бы самодокументировать процесс резервирования и вы ничего не забыли при создании копии в следующий раз.
&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Изредка проверяйте возможность восстановления из резервных копий.&lt;/span&gt; Вы же хотите быть уверенны в сохранности своих данных!
&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Опишите процесс создания и восстановления данных.&lt;/span&gt; Любой уполномоченный сотрудник должен мочь проконтролировать правильность создания резервной копии и восстановить данные из резервной копии.
&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Используйте различные хранилища для данных и их резервных копий.&lt;/span&gt; Используйте различные носители информации, физически разносите данные и резервные копии (храните копии в другом здании или другом городе). RAID массивы не являются способом организации резервного копирования, некоторые конфигурации RAID массивов (с избыточностью данных) лишь улучшают параметр непрерывности обслуживания!
&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Храните множество копий.&lt;/span&gt; Даже когда данные не утеряны может быть нарушена их целостность и вам придется покопаться в истории!
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-3353041942461202526?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/3353041942461202526/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=3353041942461202526&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3353041942461202526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3353041942461202526'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/10/blog-post.html' title='Резервное копирование, основные правила.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-5637887729894327005</id><published>2009-09-02T22:49:00.009+03:00</published><updated>2010-03-05T21:57:07.011+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hg'/><category scheme='http://www.blogger.com/atom/ns#' term='vcs'/><title type='text'>Новый формат репозиториев Mercurial (fncache)</title><content type='html'>fncache - новый формат репозиториев для Mercurial, который изменяет правила формирования имен файлов revlog. Впервые введен в Mercurial версии 1.1 и становится форматом по умолчанию для новосоздаваемых репозиториев.
&lt;div class="fullpost"&gt;
&lt;p&gt;
Причиной введения нового формата является улучшение способа именования файлов (из за ограничений некоторых операционных систем и файловых систем). Так зарезервированные имена файлов 'con', 'prn', 'aux', 'nul', 'com1'..'com9', 'lpt1'..'lpt9' ОС MS Windows теперь специальным образом декорируются. Также декорируются пути, длина которых превышает 120 символов (байт?), путем фиксации длины (обрезанием части пути) и добавления SHA1 хэша от оригинального имени.
&lt;p&gt;
Вспомним что с подобными проблемами некоторых ОС разработчики Mercurial ранее сталкивались. Только с переходом к версии 0.9.4 Mercurial смог одновременно хранить файлы и каталоги, имена которых различаются только регистром (что невозможно например в файловой системе FAT16/FAT32)!
&lt;p&gt;
Новый формат никоим образом не изменил протокол работы Mercurial через http[s] и bundle.
&lt;p&gt;
Но локально работать используя старую версию Mercurial (вплоть до 1.0.x) с репозиториями нового формата нельзя. Если Вы попробуете, то получите предупреждение:
&lt;div id="code"&gt; abort: requirement 'fncache' not supported!&lt;/div&gt;
Эта проверка реализована посредством просмотра содержимого файла "requires":
&lt;div id="code"&gt;  $ cat repo/.hg/requires
revlogv1
store
fncache
&lt;/div&gt;
Ключевое слово "fncache" говорит о необходимости поддержки нового формата утилитой hg.
&lt;p&gt;
Если у Вас имеется репозиторий нового формата, но приходится работать с CMS старой версии - можно конвертировать репозиторий в старый формат (правда при этом используя новую версию Mercurial, начиная с 1.1):
&lt;div id="code"&gt;  $ hg --config format.usefncache=0 clone --pull fncache-repo non-fncache-repo
&lt;/div&gt;
Использование по умолчанию формата fncache репозиториев может быть отключено в hgrc(5):
&lt;div id="code"&gt;  [format]
  usefncache = False
&lt;/div&gt;
или опцией командной строки "--config format.usefncache=0".
&lt;p&gt;
Одной из причин использования мною репозиториев старого формата - наличие в релизе Debian Lenny только версии Mercurial 1.0.1 (когда в Windows я использую версию 1.3.1).
&lt;p&gt;
За подробной информацией обращайтесь сюда &lt;a href="http://mercurial.selenic.com/wiki/fncacheRepoFormat"&gt;http://mercurial.selenic.com/wiki/fncacheRepoFormat&lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-5637887729894327005?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/5637887729894327005/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=5637887729894327005&amp;isPopup=true' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5637887729894327005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/5637887729894327005'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/09/mercurial-fncache.html' title='Новый формат репозиториев Mercurial (fncache)'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-6022454952108530546</id><published>2009-08-20T22:21:00.012+03:00</published><updated>2010-03-17T23:25:24.484+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Переход на GNU Emacs 23.1 в Windows.</title><content type='html'>Переход с версий 22.x на недавно вышедший релиз GNU Emacs 23.1 прошел гладко за исколючением двух моментов.
&lt;div class="fullpost"&gt;
&lt;p&gt;
Первое с чем пришлось столкнутся это сообщение об ошибке при выполнении функции &lt;code&gt;(server-start)&lt;/code&gt;:
&lt;div id="code"&gt;error: The directory e:/home/.emacs.d/server is unsafe
&lt;/div&gt;
Проблема расположена в функции &lt;code&gt;server-ensure-safe-dir&lt;/code&gt;:
&lt;div id="code"&gt;    (unless (and (eq t (car attrs)) &lt;span style="color:red;"&gt;(eql (nth 2 attrs) (user-uid))&lt;/span&gt;
                 (or (eq system-type 'windows-nt)
                     (zerop (logand ?\077 (file-modes dir)))))
      (error "The directory %s is unsafe" dir))))
&lt;/div&gt;
На &lt;a href="http://stackoverflow.com/questions/885793/emacs-error-when-calling-server-start"&gt;stackoverflow.com&lt;/a&gt; описано решение проблемы. Cледует удалить выделенный участок кода и обновить байткод (Emacs сначала ищет .elc файла и только затем .el, редактируем файл &lt;code&gt;emacs-23.1/lisp/server.el&lt;/code&gt;, C-x byte-compile-file &amp;lt;Down&amp;gt; &amp;lt;Ret&amp;gt;).
&lt;p&gt;
Вторая проблема состояла в том что функция &lt;code&gt;codepage-setup&lt;/code&gt; устарела и ее определение исключили из дистрибутива. Теперь нет необходимости предварительно перед использованием кодовой страницы IBM cpXXX ее создавать! Для совместимости со
старыми версиями Emacs воспользуйтесь следующим кодом:
&lt;div id="code"&gt;(when (&amp;lt;= emacs-major-version 22)
 (codepage-setup 866)
 (codepage-setup 1251)
 ) 
&lt;/div&gt;
&lt;p&gt;
Новость о релизе GNU Emacs 23.1:
&lt;a href="http://groups.google.com/group/gnu.emacs.announce/browse_thread/thread/c8ae7b91dc61c454#"&gt;groups.google.com&lt;/a&gt;
&lt;p&gt;
&lt;b&gt;Update: 2010-03-17.&lt;/b&gt;
&lt;p&gt;
2009-09-19 был исправлен баг #4197 касающийся &lt;code&gt;server-ensure-safe-dir&lt;/code&gt;. Из ChangeLog:
&lt;div id=code&gt;This fixes bug#4197 (merged to bug#865, though not identical).
  * server.el (server-auth-dir): Add docstring note about FAT32.
  (server-ensure-safe-dir): Accept FAT32 directories as "safe",
  but warn against using them.
&lt;/div&gt;
Также я нашел другой способ обойти эту проблему:
&lt;div id=code&gt;(require 'server)
(when (and (= emacs-major-version 23) (= emacs-minor-version 1) (equal window-system 'w32))
  (defun server-ensure-safe-dir (dir) "Noop" t)) ; Suppress error directory ~/.emacs.d/server is unsafe on windows.

(server-start)&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-6022454952108530546?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/6022454952108530546/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=6022454952108530546&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6022454952108530546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/6022454952108530546'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/08/gnu-emacs-231-windows.html' title='Переход на GNU Emacs 23.1 в Windows.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-3634299369126849845</id><published>2009-07-14T22:32:00.010+03:00</published><updated>2010-12-20T14:43:44.752+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>Коллективное ведение блога.</title><content type='html'>При использовании блогов blogger
(&lt;a href="http://www.blogger.com"&gt;www.blogger.com&lt;/a&gt;) доступна возможность
вести блог одновременно несколькими персонами.
&lt;div class="fullpost"&gt;
&lt;p&gt;
&lt;b&gt;Модель совместного ведения блога на blogger.&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Имеются два вида полномочий: администраторы блога и не администраторы.
&lt;li&gt;Не администраторы могут создавать новые статьи и редактировать только свои
статьи.
&lt;li&gt;Администраторы могут все.
&lt;/ul&gt;

Официальная справка о совместном ведении блога:
&lt;a href="http://www.google.com/support/blogger/bin/topic.py?hl=en&amp;topic=12454"&gt;http://www.google.com/support/blogger/bin/topic.py?hl=en&amp;topic=12454&lt;/a&gt;
&lt;p&gt;
&lt;b&gt;Ограничения совместного ведения блога на blogger.&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Обиженный участник с правами администратора может удалить учетные записи
других участников без возможности как либо предупредить это.
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;Какие плюсы дает совместное ведение блога?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Создается сообщество.
&lt;li&gt;Статьи могут улучшаться различными участниками.
&lt;li&gt;Различия интересов и знаний участников делает содержимое блога более
богатым и разнообразным.
&lt;li&gt;Больше ответов (feedback) для читателей, комментарии модерируются
несколькими участниками.
&lt;li&gt;Каждый участник получает дополнительную ауру почета/уважения, как если бы
он сам написал все эти умные статьи блога.
&lt;li&gt;Коллективный блог более живуч, в блог могут привлекаться новые активные
участники.
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;Как присоединиться к соавторству этого блога?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Очное знакомство, географическая приближенность и доверие к будущему
автору, т.к. все участники будут иметь права администратора (все равны, никто
не работает на дядю).
&lt;li&gt;Будущий автор должен внести вклад в содержимое блога, потому с него
спрашивается материал будущих статей (иначе зачем тогда он нужен?).
&lt;li&gt;Будущий автор согласен с положением
лицензии &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative
Commons Attribution 3.0 Unported License&lt;/a&gt;.
&lt;li&gt;Качество и профессиональный уровень статей нового автора, а следственно и
навыки самого автора, должны соответствовать уровню участников блога (что б не
пиарился без внесения вклада в блог).
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-3634299369126849845?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/3634299369126849845/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=3634299369126849845&amp;isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3634299369126849845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/3634299369126849845'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/07/blog-post.html' title='Коллективное ведение блога.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-8485372547945014574</id><published>2009-07-14T19:53:00.006+03:00</published><updated>2009-07-14T22:05:04.006+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='devel'/><title type='text'>Включение исходных текстов программ в блоги blogger.</title><content type='html'>Для включения исходных текстов программ наиболее просто воспользоваться тегом
&amp;lt;pre&amp;gt;. Но таким образом обрамленный текст будет сложно различим
среди основного текста статьи, к тому же длинные строки будут перекрываться с
содержимым sidebar (правой колонки блога) или вылазить за границы окна браузера.
&lt;p&gt;
Предлагается способ решения указанных проблем с использованием таблиц стиля
(CSS).
&lt;div class="fullpost"&gt;
Ниже приведен пример как выглядит текст в тегах &amp;lt;pre&amp;gt; на странице
blogger:
&lt;pre&gt;
#include &amp;lt;stdlib&amp;gt;

int main()
{
    puts(&amp;quot;hello world!&amp;quot;);

    return 0;
}
&lt;/pre&gt;
&lt;p&gt;
После добавления стиля:
&lt;div id="code"&gt;div#code {
  border: dotted 1px $bordercolor;
  background: $codebgcolor;
  width: 95%; overflow: auto;
  line-height: 1em;
  margin: 5px; padding: 5px;
  white-space: pre; font-family: monospace;
}&lt;/div&gt;
и добавления определения переменной &lt;code&gt;codebgcolor&lt;/code&gt;:
&lt;div id="code"&gt;   &amp;lt;Variable name=&amp;quot;codebgcolor&amp;quot; description=&amp;quot;Code Background Color&amp;quot;
             type=&amp;quot;color&amp;quot; default=&amp;quot;#fff&amp;quot; value=&amp;quot;#fffff0&amp;quot;&amp;gt;&lt;/div&gt;
исходный текст программы стал виден как:
&lt;div id="code"&gt;#include &amp;lt;stdlib&amp;gt;

int main()
{
    puts(&amp;quot;hello world!&amp;quot;);

    return 0;
}&lt;/div&gt;

Небольшое пояснение назначения элементов стиля:
&lt;dl&gt;
  &lt;dt&gt;border: dotted 1px $bordercolor;
  &lt;dd&gt;граница области &amp;lt;div&amp;gt; в точечку, тоненькая, цвета, определенного в шаблоне
  &lt;dt&gt;background: $codebgcolor;
  &lt;dd&gt; используем специально определенный цвет фона
  &lt;dt&gt;width: 95%; overflow: auto;
  &lt;dd&gt; делаем ширину области фиксированной, при наличии длинных строк появится горизонтальная полоса прокрутки
  &lt;dt&gt;line-height: 1em;
  &lt;dd&gt; междустрочный отступ определен в верхнеуровневых тегах и выглядит ужасно для текста программы, определяем явно &amp;quot;хороший&amp;quot; отступ
  &lt;dt&gt;margin: 5px; padding: 5px;
  &lt;dd&gt; лучше выглядит когда рамка не сливается с текстом
  &lt;dt&gt;white-space: pre; font-family: monospace;
  &lt;dd&gt; позволяет тегу &amp;lt;div id=&amp;quot;code&amp;quot;&amp;gt; вести себя как тег &amp;lt;pre&amp;gt;
&lt;/dl&gt;
&lt;p&gt;
Цвета фона я подбирал в Layout ==&amp;gt; Fonts and Color для новоопределенной переменной codebgcolor (здесь доступен вид блога сразу, on fly). Остановился на светло светло желтом.
&lt;p&gt;
Используется стиль следующим образом:
&lt;div id="code"&gt;&amp;lt;div id=&amp;quot;code&amp;quot;&amp;gt;line-1
line-2
...
line-(n-1)
line-n&amp;lt;/div&amp;gt;&lt;/div&gt;

Первая строка текста должна находится на той же строке что и открывающийся тег &amp;lt;div id="code"&amp;gt;, последняя строка текста должна находится на той же строке что и закрывающийся тег &amp;lt;/div&amp;gt;. Иначе в начале или в конце могут появится одна пустая строка.

&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-8485372547945014574?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/8485372547945014574/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=8485372547945014574&amp;isPopup=true' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/8485372547945014574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/8485372547945014574'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/07/blogger.html' title='Включение исходных текстов программ в блоги blogger.'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6734527039160439299.post-8337158702300055148</id><published>2009-04-05T15:02:00.001+03:00</published><updated>2009-11-08T22:32:07.070+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>Приветик на Brain Break!</title><content type='html'>Данный блог - просто русская версия http://brain-break.blogspot.com/.
&lt;p&gt;
Статьи блога должны быть сугубо технические:
&lt;ul&gt;
&lt;li&gt; только факты
&lt;li&gt; KISS (в нашем случае Keep It Short), нет болтологии и пустословию
&lt;li&gt; нет личным впечатлениям и переживаниям
&lt;li&gt; долой рассказы как хорошо провел время в путешествии/покупал машину/выгнали с роботы
&lt;li&gt; не переводим чужие статьи
&lt;li&gt; не бросаемся ссылками
&lt;li&gt; не касаемся политики/религии
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6734527039160439299-8337158702300055148?l=brain-break-ru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brain-break-ru.blogspot.com/feeds/8337158702300055148/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6734527039160439299&amp;postID=8337158702300055148&amp;isPopup=true' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/8337158702300055148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6734527039160439299/posts/default/8337158702300055148'/><link rel='alternate' type='text/html' href='http://brain-break-ru.blogspot.com/2009/04/brain-break.html' title='Приветик на Brain Break!'/><author><name>gavenkoa</name><uri>http://www.blogger.com/profile/04788714574575512630</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_hvziLWZH_mQ/SrShfpSGomI/AAAAAAAAAB4/JCj8ZtJPPnQ/S220/iam-2008_64x64.png'/></author><thr:total>1</thr:total></entry></feed>
