pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Нужно ли обновлять год копирайта на сайте?

Лучший ответ: Не согласен с предыдущим оратором!
ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE
Правообладатель (автор или его правопреемник) для оповещения о принадлежащем ему исключительном праве на произведение вправе использовать знак охраны авторского права, который помещается на каждом экземпляре произведения и…
Я создал произведение, я его и защищаю.

Худший ответ: Это зависит от того, что находится у вас на сайте. Если у вас есть какое-либо обновление информации в 2011 году, тогда нужно ставить диапазон (например, © 2010-2011). 

А если ничего нового нет — то ставьте на свое усмотрение :) Я на своем сайте и сайте всех клиентов по умолчанию прописываю диапазонное значение — так точно не прогадаете.
Вопрос: ПО для детского дома

Лучший ответ: Вообще, если там будет интернет, то неплохо бы поставить туда антивирус и firewall какие -нибудь

Худший ответ: Спросите у детского дома. Если там нет спеца, то оставить Windows, тем более у вас он лицензионный. Надо спросить у них, как они планируют использовать ПК. Может комп окажется в детской, и тогда, правда, игр не избежать. Если нет видео, докупите простенькую карту за 1000 рэ. Или пойдет администрации, тогда офис нужен.
Вопрос: Какие есть (сетевые) МФУ для дома с возможностью беспалевной заправки картриджей?

Лучший ответ: MFU Brother
Можно заправлять самому. Дешево.

Худший ответ: kyosera младшие даже. Почти все с тубой и раздельным картриджем.
Вопрос: Хранить php-код в базе данных MySQL — насколько это корректно?

Лучший ответ: В целом хранить PHP-код в БД не корректно.  MODx, например, страдает этим. Я не знаю куда смотрели авторы.
Корректно хранить данные, опираясь на которые скрипт может менять логику своего поведения.

Худший ответ: 1. Простите, но с DSL не знаком. Что это в двух словах?
2. Согласен, что не корректно, но в данном конкретном случае не вижу другого выхода. Поэтому и ищу совета.
Вопрос: Шифрование данных в программе

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

Худший ответ: А хранить все пароли в одном месте (базы данных, например) можно?
Вопрос: Каков ваш workflow разработки дизайна UI?

Лучший ответ: Говорят, Sketch сейчас однозначно правит балом. К сожалению, он для мака.
Сам рисую по старинке в Иллюстраторе. Неудобно - ограничение в 100 артбордов на файл + нельзя двигать несколько артбордов сразу. Всё остальное суперудобно, чтобы рисовать экранчики по отдельности, но как только дело доходит до их перестановки - начинается ад.

Худший ответ: Я занимался прототипированием UX сайта (не UI) в Axure, но теперь это делаю в HTML с помощью фреймворков.
Преимущества:
Можно тестировать на всех устройствах
Можно подключать логику или ставить на CMS сразу
Уменьшение времени на вёрстку за счет повторного использования кода, если UI-дизайн сильно не отличается.
Недостатки:
Увеличение сроков до двух раз.
Итог: нужно ускорение? работайте с бумагой
Вопрос: Массив и условие. что не так?

Лучший ответ: Правильно будет $buf2 == $x

Худший ответ: > то бишь с какого $buf2 приравнивается к $x ?($buf2 = $x)
php.net/manual/ru/language.operators.comparison.php
Вопрос: Насколько быстро можно изучить Ruby on Rails до уровня работы над файлообменником?

Лучший ответ: Пара-тройка лет. Это если на поверхностном уровне. А так, чтобы разбираться, что там за баги и как их исправить, еще больше. И тут даже не столько знания в программировании нужны, сколько опыт и знание архитектурных решений, а также умение их применять.
Вообще, как-то все намешано: руби, пхп, питон — как это всё можно было совместить? Какой-то многомодульный проект? Если так, то идея самостоятельно всему этому научиться, а потом еще и развивать, мне кажется утопичной.

Худший ответ: Вам нужно определиться со стеком технологий. 
Для highload сразу отказывайтесь от гремучей смеси Rails + Python + MySQL + shell. Пишите все на PHP, он легко масштабируется. Плюс разработчиков легче будет найти. 
Для быстрой разработки выкидывайте Python + PHP + MongoDB + shell. И ищите Rails-спеца.
А сейчас вам нужен хирург на fulltime для резекции опухолей.
Вопрос: Картинки в видео

Лучший ответ: electron.mit.edu/~gsteele/ffmpeg/
например

Худший ответ: Присоединяюсь. Допустим, есть >5000 изображений, полученных с помощью mplayer -vo jpeg и обработанных мерзкой софтиной в пакетном режиме. Как их собрать обратно в ролик с тем же фреймрейтом (29.97)?
Вопрос: PHP и быстрая база данных в файлах

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

Худший ответ: то что он просит должно работать на фрихостингах
Вопрос: Как правильно подключать javascript-плагины в HTML-странице?

Лучший ответ: В конце body + прописывать async атрибут скриптам не зависящим друг от друга.

Худший ответ: Да, в таком случае страница успеет прогрузиться и отобразиться, прежде чем начать подгружать скрипты - это дает выигрыш в юзабилити. Но если скрипты влияют на отображение страницы - их нужно подгружать в хеде.
Вопрос: Где найти удачный пример отрисовки radio button как шкалы?

Лучший ответ: refreshless.com/nouislider - Кастомизируется довольно легко.

Худший ответ: refreshless.com/nouislider - Кастомизируется довольно легко.
Вопрос: Как создать выборку для ленты активности в MySQL?

Лучший ответ: Так а чего у вас вверху INNER, а снизу - LEFT? Используйте INNER.

Худший ответ: Так а чего у вас вверху INNER, а снизу - LEFT? Используйте INNER.
Вопрос: Zend или IonCube? Чем закодировать, что надежнее?

Лучший ответ: Зачем кодировать? Кому нужно — раскодирует, а вам — лишний гемор поддерживать это.
Сам когда-то кодировал скрипты на продажу зендом. Как начали обновляться версии ПХП, задолбался обновления делать и т.д.

Худший ответ: скрипты Zend'ить под php 5.3.x и 5.x нужно разными версиями, а это лишний гемор.
Вопрос: Посоветуйте, пожалуйста, литературу по искусственным нейросетям

Лучший ответ: Есть пара книг про нейросети с примерами на С# и JAVA 
Сам не читал, но отзывы хорошие.
Ниже есть ссылки для ознакомления
www.flazx.us/books/13784-Introduction-to-Neural-Networks-for-Java-2nd-Edition/
www.flazx.us/books/14236-Introduction-to-Neural-Networks-for-C-2nd-Edition/

Худший ответ: Хочу посоветовать курс на интуите www.intuit.ru/department/ds/neuronnets/
в дополнительных курсах есть примеры их использования.
Вопрос: Стоимость добавления поддержки iPad?

Лучший ответ: Сложно так просто оценить. Тут важно насколько сильная переработка нужна — ведь это не просто растянуть экран, но и обдумать юзабилити что бы было удобно работать на iPad'е и рационально использовать большой экран, ведь на большом экране можно уместить больше информации. Не исключено, что надо будет переработать большую часть дизайна для этого.
Но одним дизайном это тоже не закончится, изменения в коде всё равно будут что бы поддержать новый вариант дизайна на функциональном уровне.
И это мы ещё не говорим про универсальное приложение, которое запускается на iPhone и iPad, но с разным UI. То есть, приложение должно понимать на каком типе устройства оно запущено и делать соотвествующие изменения в UI (подгружать разные nib файлы, выдавать иначе информацию), иначе делать user flow и прочее.

Если суммировать:
1. Скорее всего, нужен будет новый дизайн (пусть будет 15 т.р.).
2. Очень высокая вероятность необходимости изменения в коде. В зависимости от сложности приложения и user flow это может быть порядка 10%-100% от стоимости разработки приложения (от 35 т.р.).

Худший ответ: Однажды я делал подобное, приложение тоже было простое и надо было адаптировать его для iPad.
Все свелось к универсальному сториборду, где пришлось помудрить с autoresizing mask (проект iOS 5+), если у вас iOS 6+, то констрейнты могут сильно помочь. Кроме расстановки пришлось залить новые ресурсы для iPad retina.
Кода кажется совсем не написал, но тем не менее потратил часов 20. Экранов было около 6.
Вопрос: Есть ли HTML/XML-подобные шаблонизаторы?

Лучший ответ: XSLT же.

Худший ответ: Считается, что xml не удобен для редактирования, поэтому от него стараются переходить к более простому синтаксису (yaml, json).
А "шаблонизатор" существует на клиентской стороне, angular.js называется. Он правильно делает - дополняет и расширяет html.
Вопрос: Windows 10 не переходит в спящий режим.В чём проблема?

Лучший ответ: проблема совместимости, а точнее поддержки виндой10 - всего зверинца БИОСов. Примерно 15-20% материнок не ложаться спать. Пока решения нет. МС потихоньку починит, но думаю это будет не быстро.

Худший ответ: драйвера на чипсет
Вопрос: Как получить список пользователей из динамически добавленных элеменов select?

Лучший ответ: опять jquery-style...
1) никогда не работайте с DOM на прямую. Вообще никогда. Если можно обойтись без этого - то обойдитесь без этого. Вместо ваших стремных кастылей с append и $parse используйте ng-repeat. Вместо ng-repeat для опций используйте ng-options.
2) вместо link старайтесь использовать контроллер директивы. Пусть данные управляют представлением а не представление данными. link используется только для одной цели - работа с $scope и c DOM. Избегайте этого места.
3) Для того что бы уведомить что что-то поменялось - используйте колбэки. Читать про изолированный скоуп и волшебный символ &.

Худший ответ: plnkr.co/edit/XcR9CR2ldnWdhNcgE1DK?p=preview
Как то так
Вопрос: Как записать результат document.write('34'); в переменную?

Лучший ответ: Можно получить результат как простую строку и извлечь нужную её часть как подстроку.

Худший ответ: meteo.swamp.ru/js.php возвращает вам строку document.write('значение');
Судя по всему вы её получаете через var a = open("POST", "http://meteo.swamp.ru/js.php", false);
Чтоб выполнить эту строку вам надо сделать eval( a );
Вопрос: G++ и порядок линковки

Лучший ответ: второй ответ

Худший ответ: Да, статью читал, но почему то подумал что раз идет линковка одного бинарника одной командой то линковщик должен сам разобраться… Да, ситуация в точности как в данной цитате.

Библиотеки добавлял я. Они и так в конце, но qmake _после_ них дописывает "-LD:/qt/qt-libs/plugins/phonon_backend -lphonon_ds9" (QTPLUGIN += phonon_ds9).

Видимо решением будет убрать phonon_ds9 из QTPLUGIN и самому вычислять путь к qt-dir/plugins/phonon_backend.
Вопрос: Yii2: Можно ли сделать так чтобы передаваемые в View параметры были доступны в layout-e?

Лучший ответ: просто выноси подобное содержимое layout'a в виджет) и не нужно будет сложных манипуляций проделывать

Худший ответ: Поискал за вас в google, вроде то что нужно: stackoverflow.com/questions/28038912/how-to-pass-p...
Вопрос: Объясните на пальцах как создать статус для объекта?

Лучший ответ: Всё освободил бошку.
Значит так.
Есть два, простых, варианта реализации вашей задачи:
1. Добавить в модель поле "status" и в форме реализовать select с предопределёнными статусами
2. то-же самое но создать ещё одну модель "Status" и в поле "ststus" п.1. хранить "id" статуса
Второй вариант предпочтительнее, так как, не вынуждает вас в случае необходимости добавить новый статус править виюхи или контроллеры, просто добавить в базу новые статусы.
быстро проект для прикинуть
https://github.com/POStroi/lavezzi1_toster
Ну и никто не мешает проставлять статус кнопочками, AJAX запросами и вообще как душе угодно :)

Худший ответ: 1. вручную делаете поля "in progress", 'readyh' ...
2. гуглите ruby state machine (ASM, Workflow gems)
Вопрос: Как написать слово задом наперёд на php?

Лучший ответ: echo strrev("String"); //gnirtS
Что же касается UTF-8 (echo strrev("Строка"); //�коЀтѡ�), то можно поиграть с кодировкой:function str_reverse($string){
   return iconv('utf-16be', 'utf-8', strrev(
      iconv('utf-8', 'utf-16le', $string)
   ));
}
либо прямо в лоб:function str_reverse($string){
   return implode("", array_reverse(
      str_split($string)
   ));
}

Худший ответ: str_rev вроде
php.net/manual/ru/function.strrev.php
Для utf8 предлагают такой вариант:function utf8_strrev($str){
    preg_match_all('/./us', $str, $ar);
    return join('',array_reverse($ar[0]));
}
Вопрос: Как установить хакинтош на asus x55a?

Лучший ответ: оно тебе надо? Не нужна тебе такая машина парень

Худший ответ: Несовместимое оборудование. Можно поискать ломанные другие образы, а можно забросить(понять что это тебе не нужно до установки)
Вопрос: VLAN на коммутаторах L2?

Лучший ответ: Т.е. уменьшит ли нагрузку н канал т.к. колцентр забивает сетку звонками, архитекторы\дизайнеры скидывают постоянно большие файлы посети на Файлопомойку перестанут ли они друг-другу мешать?  - нет. физически маршрут  до АТС/файлопомойки останется прежний.  
Вот если ту-же файлопомойку воткнуть в коммутатор дизайнеров, то они общий канал забивать будут меньше. Ну так это будет так и без vlan-ов. 
  Я бы сказал, что VLAN даже увеличат нагрузку на сеть - т.к. все потоки данных между подсетями пойдут через маршрутизатор (т.е. через 1 его интерфейс)

Худший ответ: Если причина ввода виланов - QoS - то почему бы и нет. По крайней мере можно будет прозрачно поставить vlan`у с голосовым трафиком приоритет повыше.  НО! как писали выше - объем трафика в абсолютной величине только возрастет и если не хватает пропускной способности, то лучше не будет. А если проблема в лагающей телефонии, то таки делайте.
Вопрос: Использование unsigned в индексах MySQL?

Лучший ответ: Нет.

Худший ответ: Вот так просто «Нет» без каких-либо аргументов?
Насколько я помню, unsigned int улучшает производительность индексов, да и на mysqlperformanceblog.com была статья по этому поводу (сейчас не могу найти точно, но вот www.mysqlperformanceblog.com/2008/12/22/high-performance-click-analysis-with-mysql/ например здесь есть по теме, ищите по unsigned). Еще можно почитать их книгу High Performance Mysql, желательно 2 часть.
Вопрос: Как написать отзыв?

Лучший ответ: День добрый!
Отзыв пишется только после полной оплаты и финальной сдачи проекта. Клиент и фрилансер могут написать отзыв в течении 13 дней после завершения проекта.По срокам: у клиента есть 14 дней на оценку с момента последней отправки результатов вашей работы. Если в течение 14 дней клиент не отвечает, то депозит автоматически переходит к вам.
Кстати, есть похожий вопрос по вашей теме. "Лучший ответ" может оказаться полезным.

Худший ответ: сразу же есть возможность писать как только контракт закрыт.
Вопрос: Как поделить большую таблицу личных сообщений?

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

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

Лучший ответ: Первое что пришло в голову это С. Макконнелл «Совершенный код».
Но мне кажется что «чтобы программа сразу работала, как надо» — утопия.

Худший ответ: согласен с вышенаписавшими. Чтобы минимизировать количество ошибок (до 0 вы всё равно никогда не доведёте) нужно больше практиковаться — и всё.
Вопрос: Насколько актуальны эти книги по Scala?

Лучший ответ: А зачем вам столько много? Возьмите одну книжку Одерского. В ней все что нужно. 
И что значит актуальны? Все ни актуальны. Если вы извлечете из этих книжек паттерны и алгоритмы, то они всегда будут актуальны.  А если будете копировать реализации (код из примера или еще что то), актуальность не гарантируется.

Худший ответ: Доброго дня, вот маст хэв книги по scala:
1) Martin Odersky, Lex Spoon, and Bill Venners - Programming in Scala, Second Edition
2) Joshua D. Suereth - Scala in Depth
Вопрос: Загруженность сервера. Сервисы?

Лучший ответ: pinba, munin, cacti и множество других.

Худший ответ: Кстати, что из предложеного вами больше всего подходит для мониторинга одного сервера?
Вопрос: Медиакомбайны (каталогизаторы). Что лучше?

Лучший ответ: MediaMonkey
Songbird
Amarok

хотя кому-то, возможно, достаточно и хорошо настроенного foobar2000

Худший ответ: Хорошо отсортированная по папкам медиатека + foobar. Больше ничего не нужно.
Вопрос: Проблема с версткой,как исправить?

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

Худший ответ: Присоединяюсь ко всему выше сказанному.
Отступ называется padding. Можно его обнулить как у  .menu_ul, так и у всех элементов.
Вопрос: Эффект одинокой обезьяны: как он правильно зовётся?

Лучший ответ: Есть идеально паралелящийся конвеер, например, разгрузка кирпичей 5 рабочими. Увольнение 1 рабочего приведет к снижению КПД на 20%
Есть  идеально непаралелящийся конвеер, например, один месит глину (не в том смысле), другой лепит чашку, третий раскрашивает и один не может заменять другого. Увольнение любого приведет к снижению КПД на 100% и остановке производства.
Есть смешанные конвееры. когда верстальщик может за дизайнера,  но хреново. нелинейно проседает А почему оно должно проседать линейно? См выше. ускорить дело за счёт качества. один не может выполнять чужие обязанности, очевидно что качество падает. Если бы мог, то качество тогда не падало и падения КПД не было бы вообще никакого, не линейного, ни 100%перекрёстного опыления с девушкой давно были? Имею спросить: нет ли у такого эффекта специального названия?Очевидно, что нет. Есть невозможность выполнения одним несвойственных ему обязанностей других при выполнении определенных циклов работы.

Худший ответ: Проблема не в количестве людей. 
Главное при написании ПО - управление сложностью. Чем больше программа тем сложнее она становится, но со сложностью можно бороться. Методов много -можно скрывать сложность за апи, можно делить на независимые модули, делать рефакторинг, бороться с сайд эффектами и тд.
Если просто, то у вас говнокод.
Вопрос: Реально ли найти работу C++ разработчику?

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

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

Лучший ответ: @Vadim997 
Не знаю что именно Вы хотите сделать, но код у вас просто какой то бред.
Вы явно не понимаете что такое php и что такое js.
Ознакомьтесь пожалуйста phpfaq.ru/na_tanke

Худший ответ: У меня есть картинки на странице, и я не могу их сохранить в директорию. Как это сделать?
Вопрос: Зачем нужен Gitlab?

Лучший ответ: gitlab можно бесплатно установить себе на сервер если нет желания хранить где-то на стороне свой код.

Худший ответ: Бесплатно можно создавать приватные репозитории.
Вопрос: Почему до сих пор нет автоматической HTML — верстки страницы?

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

Худший ответ: Где-то видел плагин для фотошопа и онлайн сервис они по особому составленный psd макет конвертировали в html+css.
Можно по-гуглить по запросам типа "psd2html".
Вопрос: Как сделать так что-бы все данные сохранялись одной кнопкой сохранить?

Лучший ответ: Тегом  нужно обрамлять сразу все поля, а не отдельно каждый. Кнопка  отправляет только данные из полей, которые находится вместе с ней в теге form.
Например код ниже отправит данные из всех полей<form action="" method="post">
<input type="text" name="country"><br>
<input type="text" name="city"><br>
<input type="text" name="street"><br>
<input type="submit" value="Отправить все поля">
</form>
А этот код будет отправлять поля отдельно, почти как у Вас<form action="" method="post">
<input type="text" name="country"><br>
<input type="submit" value="Отправить поле страна">
</form>
<form action="" method="post">
<input type="text" name="city"><br>
<input type="submit" value="Отправить поле город">
</form>
<form action="" method="post">
<input type="text" name="street"><br>
<input type="submit" value="Отправить поле улица">
</form>

Худший ответ: Потому что вы отправляете только первую форму.
Вопрос: Как вы организовываете валидации в flux/react.js?

Лучший ответ: В идеале у вас должен быть компонент типа <InputValidator /> который оборачивает поле ввода и имеет в себе логику валидации. В этот компонент можно передать правила валидации (pattern, length, и т.д.), а на onChange уже делать dispatch и обновлять глобальное состояние.
Статус валидности можно передавать прямо в onChange, вторым параметром, после события, или добавлять в объект события.
Компонент с валидацией поля не должен быть привязан изнутри к вашему коду, он должен быть черным ящиком.

Худший ответ: а мне вот эта библиотека понравилась https://github.com/christianalfoni/formsy-react
Вопрос: Какой использовать чип/модуль для Wi-Fi позиционирования (без передачи данных)?

Лучший ответ: Сейчас популярны бюджетные модули на китайском чипе ESP8266.

Худший ответ: Есть чип Atmel WINC1500 - вчера пост по нему опубликовал:WINC1500 — Wi-Fi для IoT от Atmel,
цена - да, ниже 10$.
Вопрос: Как применять деревья поиска в реальных проектах?

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

Если Ваша база будет невелика — используйте красно-черное дерево (или АВЛ).
Если база может быть большой — используйте B деревья (для случаев, когда все данные просто не влезут в память).

В каждом узле дерева Вы будете хранить помимо ключа, ссылок на детей и, возможно, некоторой вспомогательной информации для балансировки ещё и те дополнительные значения, которые могут быть ассоциированы с ключом.
Тип ключа, разумеется, совершенно неважен. Главное — возможность сравнивать ключи и определять, какой из двух меньше / больше.

Однако, я бы не очень назвал такое применение реальным проектом. В реальных проектах Вам редко придётся вручную реализовывать какую-либо структуру данных — всегда можно (и нужно) использовать существующие библиотеки.

Худший ответ: Так вы ищите не по строкам а по индексам дерева. Обычно в лабах это подразумевают, а не полнотекстовый поиск.
Вопрос: Есть ли программа для ios для синхронизации списка?

Лучший ответ: А что мешает использовать расшаренную на всех табличку в GoogleDocs и редактировать ее?

Худший ответ: Давайте напишу такую программу !