Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Имеет ли смысл публиковать Android-игру в сторонних магазинах?

Лучший ответ:
Да, бесплатные игры нужно размещать везде, где возможно. Немного закачек тут, немного там…

И хорошо бы ещё договориться с какими-то локальными издателями. В той же Корее вы сами вряд ли сможете в их магазинах что-то опубликовать, а база пользователей там большая. К тому же, помимо публикации издатель сам пиарить игру будет, так как это в его интересах)

Худший ответ:
Мой ответ, конечно, необъективен — но я всё же рискну посоветовать Amazon Appstore.
Как минимум, вы получите доступ ко всем устройствам Kindle Fire (сейчас их пока четыре).
Подавляющее большинство их пользователей не имеет доступа к Google Play — соответственно, хороший потенциал для увеличения закачек.
Кроме того, есть немало людей, имеющих его (Amazon Appstore) и на телефоне.

У Appstore есть ещё немало хороших штук, но это уже совсем было бы рекламой.
Вопрос: ООП в высоконагруженных проектах считается устаревшим?

Лучший ответ:
Мужик дегенерат, однозначно.
// EDIT
Посмотрел прикрепленные исходники. Закапал святую воду в глаза.
Выкиньте это всё, покажите ему, например, PHP: The Right Way.
Я бы на Вашем месте уволился, незадумываясь.

Худший ответ:
Поржал с кода. Тут и процедурным то программированием даже не пахнет. Зачем ему вообще PHP, тоже самое можно написать на голом HTML и оно вообще будет летать:)
PS:  Думаю стоит кинуть начальнику ссылку на это обсуждение.
Вопрос: Замена кода в Dreamweaver, используя регулярное выражение

Лучший ответ:
в дриме ctrl+F
найти 

<a[^<]+>(.+)</a>

заменить на $1
(не забудьте галку регулярное выражение)

Худший ответ:
Например, так:

#! perl -w
onclick="return hs.expand(this)">

open F, 'myfile'; @f=<F>; close F; 
open F, '>output_file'; 
foreach $str (@f) { 
  print F $str if $str !~ /\<a\shref\=\"www\.comgun\.ru\/uploads\/posts\/.+\.jpg\"\sonclick\=\"return\shs\.expand\(this\)\"\>/ 
} 
close F;
Вопрос: Почему MySQL использует только часть индекса?

Лучший ответ:
Все очень просто:UPDATE `test` USE INDEX (`time`) SET `lock` = 123456 WHERE `lock` = 0 ORDER BY `time` LIMIT 1000
Затронуто 1000 строк. (Запрос занял 0.0736 сек.)
Всем спасибо!

Худший ответ:
Четыре раза перечитал - так и не понял, зачем вам time при айдейте поля с ID процесса на ноль. Если вы сначала делаете так:UPDATE `test` SET `lock` = 1 WHERE `lock` = 123456
то почему потом не сделать с точностью до наборот?UPDATE `test` SET `lock` = 0 WHERE `lock` = 1
Если вы скажете, что несколько процессов могут выполнять задание, и нельзя просто так проставить нули всем заданиям, у кого 1, то я вам скажу, что вам нужна нормальная структура таблицы, и стоит разделить "lock" и "process_id". Хотя конечно непонятно, зачем вам такой переход: 0 -> process_id -> 1 -> 0, сделайте 0 -> process_id -> 0, и у вас будут нормальные запросы:UPDATE `test` SET `process_id` = 123456 WHERE `process_id` = 0 ORDER BY `time` LIMIT 1000
UPDATE `test` SET `process_id` = 0 WHERE `process_id` = 123456
Вопрос: Как развернуть сервер с nodejs на Ubuntu?

Лучший ответ:
Есть достаточно много сервисов, которые предоставляют такую возможность: 1, 2, 3

Худший ответ:
Чтобы домашний сервак торчал наружу, пляшите от DynDNS или аналогов.
Node.JS тут не при чем, уберите его из тэгов.
Вопрос: Что почитать про бизнес партнерство?

Лучший ответ:
Просто нужно разделить обязанности между партнерами, чтобы они не пересекались — каждый отвечает за свою часть проекта.

Худший ответ:
Здесь написаны мини-книнги про аутсорс одним парнем под наши реалии, нужно зарегистрироваться на сайте для скачивания (есть формат под электронную книгу): 
 — 10 шагов к созданию своей аутсорс IT компании
 — 12 способов повысить прибыльность IT аутсорс компании 
brightoutsource.com/. 

Во второй книге затрагиваются вопросы партнерства.
Вопрос: Почему из-за padding в первом блоке съезжает второй блок?

Лучший ответ:
htmlbook.ru/css/vertical-align
необходимо добавить vertical-align: top
https://jsfiddle.net/soledar10/kh2q0wsj/

Худший ответ:
Или добавить в классе .second { padding:20px;} -попробуйте и посмотрите что будет
Вопрос: Влияют ли ошибки сайта проверенные валидатором на поисковые системы?

Лучший ответ:
Будет ли гугл или яндекс выводить первыми сайты у которых меньше ошибок?  Иван Дамаскин  При прочих равных, возможно, будет. Но в большинстве случаев поисковые системы лучше ранжируют сайты с более высоким трастом, хорошими поведенческими и качественным контентом, для них это важнее 100% валидного кода.
Наиболее критичны ошибки влияющие на правильный вывод информации на сайте, но их обычно видно невооруженным взглядом. 100% валидный код это достаточно условный фактор, с небольшим весом, но если есть желание то никто не запрещает потратить время и на такого рода оптимизацию. Хотя гораздо важнее потратить больше времени внутренней оптимизации сайта и его контенту. Тостеру, хабру и другим известным ресурсам туча ошибок разметки не мешают находится в топе поисковиков по множеству запросов. :)
Если хотите проверить сайт на проблемы, влияющие на продвижение, воспользуйтесь простым официальным инструментом от google https://developers.google.com/speed/pagespeed/insi... и следуя рекомендациям проведите оптимизацию сайта.

Худший ответ:
Ну, если будут ошибки в верстке, такие как  ...  и другие неправильные теги, то конечно будет влиять. А если есть незначительные ошибки, типа незакрытый img , input , то думаю ничего плохого не будет.
Вопрос: Как с помощью класса phpmailer указать email адрес кириллицей?

Лучший ответ:
Нет никаких русских доменов. На самом деле это xn--e1aybc.xn--p1ai
Попробуйте указать info@xn--e1aybc.xn--p1ai в качестве адреса отправителя.
Далее читать про punycode
PS и да, отправить почту на info@тест.рф скорее всего ни у кого не получится.

Худший ответ:
Я думал это как то проще будет. Про пуникод я читал. Нашел класс "Net_IDNA" который переводит его, только я думал это как то проще будет, не уже ли рассыльщики писем этого не делают сами(
Вопрос: Онлайн семинары по Java?

Лучший ответ:
Если вы студент, то можно бесплатно пользоваться официальными курсами https://sailearningconnection.skillport.com/

Худший ответ:
презентации всеразличных фреймворков на английском: www.parleys.com/ (нужно скачать клиента на Adobe Air)
Вопрос: Роутер для модема Yota?

Лучший ответ:
У самого стоит Keenetic, и случае с ним разница не только в цене, поверьте) Это просто ошеломительный продукт, после охапки d-linkов и прочей срани. Он стабилен и надежен, купить что-то чуть дешевле — потеряете на кайфе от использования.

Худший ответ:
А как что он видится? Если как что-то с чем может работать GNU/Linux, то можно всякие D-Link`и и Asus`ы посмотреть с рук под DD-WRT и с USB
Вопрос: Куда скинуть примеры своего кода, чтобы показать работодателям?

Лучший ответ:
gist для снипетов, гитхаб для проектов (или битбакет).

Худший ответ:
Ну не обязательно гитхаб, там есть место по проще: https://gist.github.com/
Вопрос: Можно ли стать project manager'ом без особого опыта разработки?

Лучший ответ:
Можно, однако замечу что планирование достаточно сложного проекта (не на готовом коробочном продукте) очень сильно завязано с архитектурой создаваемого ПО. Поэтому если проект сложный, то без человека который будет архитектором вам не обойтись. Если проект не сложен и основан на коробочном продукте, то очень часто все делают в одиночку или 2-3 человека, и как правило менеджеры им не нужны. 
Главный организационный момент это формирование правильного ТЗ, то есть взаимодействие с заказчиком, как правило при составлении ТЗ много подводных камней (например незнание законодательства).
Все просто набираете команду, ищите подходящий проект и реализуете )

Худший ответ:
Для меня работа проектным очень нервная и стрессовая. Нужно нести ответственность за всей командой, оперативно вносить правки. Очень всегда переживала за результат.  Сейчас  перешла на более праздничную специализацию - организовываю торжества. Работу также нашла на авито. Как по мне, здесь легче, потому что у коллективов, компаний, предоставляющих услуги личная ответственность за свою репутацию, а уработников среднего звена больеш стадный инстинкт.
Вопрос: Как объединить субдомены с основным доменом для поисковиков?

Лучший ответ:
Зачем ему понимать что это единое целое то? Когда оно как минимум не единное.

Худший ответ:
Домен 3-го уровня — такой же домен, как и любой другой. Домены не объединяются между собой, кроме как по принципу зеркал, т.е абсолютно идентичных по контенту. Так было несколько лет назад, когда я уточнял этот вопрос. Может сейчас ситуация изменилась, но я сомневаюсь. Если не прав — поправьте…
Вопрос: Как лучше всего проверять и оптимизировать производительность страницы сайта(fps)?

Лучший ответ:
Неплохая статья по этой теме habrahabr.ru/company/rambler-co/blog/258913

Худший ответ:
Show FPS meter в Chrome DevTools не устраивает?
Вообще по этому вопросу много видео от Пола Айриша. Здесь, например
Вопрос: Как в битриксе в мета теги засунуть информацию из компонента?

Лучший ответ:
Вы сначала опишите что у вас не получается.
Просто вопрос слишком общий.
Ну надо вывести туда данные? Выводите, кто вам мешает?
В шаблоне компонента, в файле component_epilog.php добавьте нужные метатеги в хедер.
Или данные из тех что не кэшируются?
Или несколько компонентов будут конкурировать на одной странице?
Или не знаете как добавить строку в хедер?
Или не знаете как и где создать component_epilog.php?
В общем - уточните вопрос.UPD:$APPLICATION->AddHeadString('<meta src="'.$MySuperSrc.'";  data="superdata" rel="vabschesuperrel" />',true);

//
https://dev.1c-bitrix.ru/api_help/main/reference/c...

Худший ответ:
У костыльной системы могут быть только костыли.
На уровне инициализации по событию проверять url и по совпадению  брать из свойств инфоблоков нужные значения и добавлять нужные тэги в хэдер.
Вопрос: Список правильных брендов — идея для стартапа или уже есть такой?

Лучший ответ:
Простите, но идея стартапа утопична. Как вы ее монетизировать собрались? 

Товар не равно брэнд. Оценивать брэнд по товару в корне неверно. К примеру, корпорация Siemens выпускает дешевые телефоны, которые имеют весьма посредственное качество. Значит ли это, что вся продукция компании будет аналогичной? Можно ли перекладывать проблемы одного товара на другой, например, по качеству телефонов судить о качестве электростанций, которые тоже производит Siemens? 

Вторая проблема — глобализация. Для разных рынков под одной маркой могут производиться совершенно разные товары. И в одной стране это будет заслуженный отстой, а в другой — мегакласс. 

Третья проблема — субъективизм оценки. Одни не могут нарадоваться возможностям продукта, вторые считают эти возможности слишком банальными. Кто прав? Для снижения уровня субъективизма нужно проводить независимое тестирование продукции, что требует колоссальных трудозатрат. 

Так что идея вроде как и хорошая, но ее монетизация под огромным вопросом

Худший ответ:
Сравнивать бренды — несколько некорректно: 
Возьмем близкие нам ноутбуки. Один вендор может производить и бюджетное «Г» и корпоративные неубиваемые машинки. Каждая хороша по-своему: первая дешева, обладает дискретной видео-картой, достаточно производительным процессором и большим жестким диском. Но, при этом, живет час от батарей, винчестер на 5400, а видео греется безбожно под нагрузкой. С другой стороны, корпоративная машинка не блещет объемом диска, не имеет привода и дискретной видяхи, но стоит SSD, аккумулятора хватает на семь часов. Какую выберет пользователь? Правильно, в зависимости от задач. А бренд может быть разным…
Вопрос: [param is missing or the value is empty: task] Как решить?

Лучший ответ:
param is missing or the value is empty: task
Экшен ожидает, что придет параметр 'task', но он не приходит. Почему? А потому, что вы его не отсылаете. То есть у вас неправильно оформлена форма. А точнее, у вас вообще формы нету.{"authenticity_token"=>"Y8hE4tSk/qUL1xZDpCgvriUwYhmwfzeH3iwfxa7NB+C6DEKkvJLAQ4V3b6yTw4QUxOMPUTxoGKv36PYxpzmCoQ==", "id"=>"10"}
Вот доказательство, что 'task' не передается.if @task.update(task_params)
Зачем этот апдейт нужен? Какова логика? Зачем обновлять весь таск?@task.complete_task = true
Вообще, так в контроллерах делать не комильфо. С БД должна работать модель. Лучше сделать метод 'complete!' в модели и в контроллере просто вызывать @task.complete!
Ну и роут не совсем верный.post 'tasks/:id/complete', to: 'tasks#complete', as: 'complete_task' – так бы было правильнее. Соответственно и экшен переименовать.
Или если делать ресурс:resources :tasks do
  post :complete, on: :member
end
Как исправить, думаю, теперь догадаетесь :)

Худший ответ:
Во-первых, сделайте# config/routes.rb
resources :tasks do
 match :complete_todo, on: :member, as: :finished_task, via: :post
end
А дальше, пока непонятно, что за ошибка и где. Порядок дебага:
1. Убедиться, что существует нужный роут и формируется правильная ссылка с правильным методомо (пост, гет) и форматом (html, js и т.д.)
2. Убедиться, что запрос попадает в нужный экшн
3. Убедиться, что таск выбран
 Про попытке отметить задачу выполненной вылетает ошибка: param is missing or the value is empty: task
Непонятно, ошибка на клиенте или на сервере. Непонятно, что за ошибка (у эксепшенов есть классы). Непонятно, в каком месте возникает (у эксепшенов есть трейс)
Ну, а вообще, скорее всего, вы забыли про стронг парамс и просто так написали:@task.update(task_params)
и не обновили сам метод:private
def task_params
params.require(:task)
...
end
Или вообще не написали его
Вопрос: The dude. Как настроить отображения беспроводных клиентов?

Лучший ответ:
Отвечу сам на свой вопрос.
Для отображения беспроводных клиентов в the dude необходимо выполнить следующие настройки.
The dude:
1) Перейти в Funktion и добавит две функции:
   wifi клиенты:array_size(oid_column("iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrWireless.mtxrWlRtabTable.mtxrWlRtabEntry.mtxrWlRtabStrength"))
   snmp_uptime2:if (string_size(oid("iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance")), concatenate("", oid("iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance"), "
"), "")
2) Перейти на карту с устройствами зайти в настройки устройства и добавить новый зонд:
3) Включить на устройстве snmp:
4) На карте выбрать устройство и нажать на него правой кнопкой мыши выбрать вид и добавить метку:Wireless Clients [wireless_clients()]
После этого на устройстве (в моем случае это RB2011) начнет отображаться количество активных подключенных клиентов.

Худший ответ:
Спасибо, очень интересно + сам настрою также на работе )
Вопрос: Как передать значение переменной из php-скрипта в javascript?

Лучший ответ:
Первый способ: Отдельный AJAX-запрос к PHP-файлу, который вернёт что-нибудь вроде JSON-данных, которые потом будут доступны из JS.Второй способ: В PHP-файле можно определить какую нибудь переменную во время генерации страницы, а потом из любых скриптов к ней обращаться. Например так:PHP-файл:<?php
$a = 'text for js_variable';
?>
<!DOCTYPE html>
<html>
  <head>
    <script>
      //Определяется переменная, которая будет доступна для 
      // всех JavaScript, подключаемых на данной странице
      var js_variable = '<?php echo $a; ?>';
    </script>
    <!-- 
      В файле /scripts/myscript.js происходит обращение 
      к переменной js_variable 
    -->
    <script src="/scripts/myscript.js"></script>
  </head>
  <body>blah-blah-blah</body>
</html>Файл /scripts/myscript.js:// Выскочит алерт с текстом «text for js_variable».
alert(js_variable);
Вот. В HEAD-части HTML-страницы вы определяете переменную, которая будет доступна для остального JS-кода. Главное — нужно её определять до того, как будут подключены скрипты, которые будут её использовать.Третий способ: Если ваш web-сервер — Apache, то можно добавить в .htaccess в корне сайта такие строки:AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js

<FilesMatch "\.js$">
SetHandler application/x-httpd-php
</FilesMatch>
Тогда вы сможете прямо в JS-файлах выполнять PHP-код. Но выполняться он будет только в тех JS-файлах, которые находятся в папке с сайтом. Если будут загружаться скрипты со сторонних ресурсов, там PHP-код работать не будет.

Худший ответ:
Вы можете прописать в .htaccess  парсинг PHP в JS файлах
Вопрос: Битовое отрицание в JS

Лучший ответ:
Всё просто: побитовые операторы в js работают только со знаковыми (signed) целыми (integer) длиной в 32 бита (оператор >>> работает с unsigned). Иными словами, побитовые операторы интерпретируют операнды как последовательность из 32 битов.

Т.о., при выполнении ~3 число 3 представляется в виде 0000 0000 0000 0000 0000 0000 0000 0011, результат, понятное дело 1111 1111 1111 1111 1111 1111 1111 1100 — это -4. Если крайний левый (знаковый) бит равен 0 — число положительное, если равен 1 — число отрицательное. Максимальное знаковое целое, которое уместится в 32 бита — это 0111 1111 1111 1111 1111 1111 1111 1111, или 2147483647 (по основанию 10). Минимальное 32-bit signed integer — это 1000 0000 0000 0000 0000 0000 0000 0000, или -2147483648.

2147483647   0111 1111 1111 1111 1111 1111 1111 1111
100          0000 0000 0000 0000 0000 0000 0110 0100
5            0000 0000 0000 0000 0000 0000 0000 0101
4            0000 0000 0000 0000 0000 0000 0000 0100
3            0000 0000 0000 0000 0000 0000 0000 0011
2            0000 0000 0000 0000 0000 0000 0000 0010
1            0000 0000 0000 0000 0000 0000 0000 0001
0            0000 0000 0000 0000 0000 0000 0000 0000
-1           1111 1111 1111 1111 1111 1111 1111 1111
-2           1111 1111 1111 1111 1111 1111 1111 1110
-3           1111 1111 1111 1111 1111 1111 1111 1101
-4           1111 1111 1111 1111 1111 1111 1111 1100
-5           1111 1111 1111 1111 1111 1111 1111 1011
-100         1111 1111 1111 1111 1111 1111 1001 1011
-2147483648  1000 0000 0000 0000 0000 0000 0000 0000

~~3.14 // 3

Шаг 1: число приводится к целому и представляется в виде последовательности 0000 0000 0000 0000 0000 0000 0000 0011.
Шаг 2: производится сама побитовая замена 0->1 и 1->0. Получаем 1111 1111 1111 1111 1111 1111 1111 1100, или -4 (по осн. 10).
Шаг 3: производится ~(-4), то бишь получим в итоге 3.

Ну, с нулем всё понятно думаю.

Худший ответ:
На собеседованиях спрашивают потому, что ~~ — это быстрая альтернатива Math.floor для небольших чисел (которые влезают в int32).

jsperf.com/math-floor-vs-math-round-vs-parseint/74

Для выполнения Math.floor движку потребуется пройтись вверх до глобального пространства имен, чтобы найти там Math (вдруг кто определил переменную с таким именем?), получить свойство floor объекта (вдруг кто перезаписал его?), вызвать его как функцию, в которую передать параметр, затем вернуть значение.

В случае с оператором, который в JavaScript перегрузить нельзя, накладные расходы минимальны.

Единственное ограничение — разрядность. С современными timestamp'ами из Date#getTime, к сожалению, уже не сработает (будет переполнение).
Вопрос: Какие плюсы в госслужбе?

Лучший ответ:
Да нету в ней плюсов. В далекой перспективе, возможно обзаведешься полезными знакомствами, которые помогут в каких то сферах и через пару десятков лет выйдешь на неплохую зп за счет надбавок, а так это многие годы нищенской зарплаты, тотальной бюрократии, ограниченного инструментария...

Худший ответ:
ехать в другой городУровень зп один и тот же.
Что-то непонятно. Ну работал я в "другом городе" - так зарплата была выше в разы, покрывала расходы на съем жилья и периодические поездки домой. А здесь в чем смысл? Где и на что жить в "другом городе"? Какова перспектива роста зарплаты, чтобы оправдать переезд?
Вопрос: На каком основании блочатся публикующие чужие посты?

Лучший ответ:
Вопрос не о человеке, а о том, что от этого правила страдает сообщество. В конце-концов благодаря этому правилу может недополучить интересной информации. Обычно, когда автор берется перепубликовать чужой материал, то он этот материал с 10 сторон оценит, и он будет качественным и интересным.
Когда я только-что пришел на Хабру некоторым странным я тут тоже не понравился, и получил минус. И спасибо паре человек — я написал статью и отправил им чтобы прочитали, а они мне дали + в карму для публикации.
Новичек на Хабре, получается, первые шаги делает по минному полю. И первый-же шаг может оказаться последним. А теперь посмотрите на тот бред, который постоянно на главную вылезает: постоянные желтые перепечатки со всяких «недокомпьютеррр». В принципе идет одна интересная статья на главной в несколько дней.
Всё остальное порой сборище сплетен и мусора. Как сейчас помню совершенно угарную тему на главной: как писать служебные документы
Но на фоне остальной копирастии в этот день материал даже в принципе читался…

Худший ответ:
Надо дождаться официального топика-ответа ТМ, обязательно.
Вопрос: КОНСОЛЬНЫЙ антивирус для Windows с регулярно обновляемыми базами?

Лучший ответ:
ClamAv вроде как соответствует всем требованиям

Худший ответ:
У Касперского раньше была консольная утилита проверки. Названия не помню, посмотрите на этой странице.
Вопрос: Проблемы при нагрузке сети Wi-Fi. Как решить?

Лучший ответ:
Поменяйте канал, но если же вокруг много роутеров, занимают все каналы и тем самым создавая помехи, переповторы и ошибки при передачи в радио, особенно при большой нагрузке, то этот вопрос можно решить только проложив провод или перейти на 5Ghz.

Худший ответ:
Есть еще решение, но это будет уже за деньги по больше и не роутер а АР.
Как и сказано было выше - если дело в помехах можно взять вот такую штуку = для дома за глаза.
Но подчеркиваю что это не роутер это полноценная АР которая может подавлять помехи
Вопрос: Что я неверно понимаю в команде git log -p --grep ?

Лучший ответ:
Вам нужно искать по названию и описанию коммита или по содержанию?
Если по содержанию тоgit log -SprAfterEdit

Худший ответ:
git log -G отлично справляется с задачей
Спасибо Scorpi за наводящую подсказку!
Вопрос: Композитный сайт от Битрикс — это реально революция или очередной маркетинговый ход?

Лучший ответ:
Это маркетинг.
Просто надо уметь читать маркетинговые заявления.
Перевожу - специалисты битрикса заметили что их продукт очень тормозит, и зачастую работает медленнее аналогов в 200раз,  а так же очень плохо индексируется. Они провели грандиозную работу и предоставили действительно революционное решение. Теперь их продукт  в некоторых случаях работает в 100раз быстрее, что всего лишь в два раза медленнее аналогов, а так же он немного лучше стал индексироваться поисковиками. Для пользователей продукта это действительно революция.

Худший ответ:
Без маркетинга ни что сейчас не обходится. Если разобраться в технологии, то ничего сверх сложного в ней нет, просто ещё один уровень кэширования. Плюс заключается в том что её внедрение достаточно простое, минус в кнопочке снизу - хочешь её убрать плати ещё денюжку.
Ещё надо понимать что под ускорением до 100 раз надо понимать сокращение времени отклика сервера.
Вопрос: Можете подсказать алгоритм поиска наиболее часто встречающихся подстрок в тексте?

Лучший ответ:
Суффиксное дерево (также на английском). Строится за линейное время, время поиска пропроционально длине искомой строки, памяти, правда, много занимает. (Забавно, что в Дискретном анализе (2003) И. В. Романовского в главе «Суффиксное дерево» дается пример как раз с этой же фразой о Карле и Кларе.)

Худший ответ:
Попробуйте структуру данных trie
en.wikipedia.org/wiki/Trie
Вопрос: VirtualBox. Ubuntu-host. Windows-guest. Проблема росшаривания каталога в Винде. Доступ к этому каталогу средствами Убунту?

Лучший ответ:
Гугл не смог выдать столь редкую инфу?)

Худший ответ:
Причём здесь внешний мир?mount -t cifs не работает?
Вопрос: Литература по функциональному тестированию

Лучший ответ:
В порядке убывания ценности:

Lessons Learned in Software Testing, Канер
Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем, Майерс
Тестирование программного обеспечения, С. Канер, Д. Фолк 

Еще можно посмотреть здесь и там же — на форуме.

Худший ответ:
Тестирование dot com или Пособие по жесткому обращению с багами в интернет-стартапах, Роман Савин.
Вручили на новой работе. Читается очень легко, есть все самое нужное и необходимое по тестированию.