Задать вопрос
  • Как проверить строку на предмет соответствия списку шаблонов (LIKE)?

    @rPman
    Можно я присоединюсь к вопросу, расширив его до:

    Имеется очень большое количество строк (в общем случае, с бинарными данными, конечно было бы лучше). Эти строки очень похожи! Размер строк варьируется в пределах от считанных байт до нескольких десятков килобайт.
    лучшее что можно сказать про эти строки, — грубо говоря, это различные сообщения по некоторому количеству шаблонов (их количество тоже заранее неизвестное, но тоже большое, примерно количество сравнимое с log(n)). Нет возможности заранее получить эти шаблоны (источник данных независим), мало того, во времени шаблоны меняются, т.е. могут появляться новые и исчезать старые.

    Задача, с некоторым приближением (речь не идет о максимальной эффективности), обнаруживать похожие сообщения, или в терминах описанной выше информации об этих строках — выявить шаблон для каждого сообщения. Уровень эффективности можно определить по размеру патча какого-либо diff-алгоритма (тот же bzdiff).

    Если задачу решать нахрапом, то это для каждого следующего сообщения производить сравнение с каждым предыдущим (можно взять некоторое окно во времени), вычислять расстояние (размер diff патча) и брать наименьшее.

    Дальше можно оптимизировать на основе предположения что если сообщение A находится на расстоянии от B и если C находится на примерно таком же раасстоянии от B, то расстояние между A и C будет примерно таким же, а значит если хранить матрицу расстояний между сообщениями (не для всех а только проверяемых) то расстояние для не проверенных пар можно вычислять из соседних 'соседних'. Можно даже пройтись по архиву и выявить коэффицент/погрешность, которая накапливается если использовать это вышеописанное предположение (A->B)&(C->B) = (A->C) многократно для A->D, A->E на основе таких же вычисленных B->D и B->E или даже D->E… в общем чтобы вместо трудоемкости N*M получить хотя бы N*log(M) где N — количество сообщений, M — размер окна, количество последних сравниваемых собщений (в этом случае их можно уже считать шаблонами).
    Ответ написан
    Комментировать
  • Oценить разовую работу?

    @rPman
    Дьявол, как обычно, в мелочах. Считать, я думаю, нужно с 3т.р.-5т.р. но мало ли чем окажется 'какая-то своя клиент-серверная прога', может и простым копированием обойтись, а может и копаться с переносом на разные платформы (x86 <-> x64 у каждой бд могут быть нюансы).
    Ответ написан
    Комментировать
  • Алгоритм надежной системы голосования, исключающий «накрутки»?

    @rPman
    Проблема — в регистрации пользователей, пока либо легко но ненадежно, либо надежно но сложно.

    Круче уже предложенного, только регистрация 'по паспорту'.

    Можно воспользоваться базами тех кто уже этим занимается, например webmoney (атестаты выше формального), но ясно, что не у всех есть вебмани регистрация, тем более неформальная.
    Так же, если я все верно понимаю, можно сделать прямой прием карт visa/mastercard, суммы первоначального вложения приличные, но идентификация будет хорошей, возможно есть посредники, которые предоставят такую идентификацию.

    Можно воспользоваться тем же механизмом, что и webmoney — потребовать от пользователя выслать минимальный платеж в системе contact (от 50р но у них самое лучшее покрытие офисами по стране), будет возможность получить информацию о том кто отослал — паспортные данные.
    Ответ написан
  • Спроектировать таблицу БД GPS трекера

    @rPman
    Помимо партиционирования, я могу посоветовать из разряда 'вредных советов' (но лично так делал для более простых форматов хранения таблиц — myisam, с ними проще восстанавливать базу, вот с innodb я не очень в курсе, как легко будет поднять базу если индексный файл будет потерян)…

    Разделите данные и индексы по разным файлам (а точнее физическим разделам, если конечно ваш тарифный план хостинга позволяет это). Индексы обычно занимают меньше места но основные тормоза при записи создают именно они (так как в них происходит перезапись порядка log(n) объемом данных (конечно все сложнее, много читается как из таблицы с данными так и из таблицы с индексами) и эта запись сервером баз данных делается в синхронном режиме.

    Само по себе размещение индексов таблиц баз данных на более быстром (те же ssd) носителе заметно ускоряют работу, но я так понимаю это не ваш случай и предлагаю схитрить за счет понижения надежности, отключить синхронизацию записи данных для соответствующих файлов. Сделать это можно, разместив эти файлы на рам-диске (tmpfs) либо отформатировав их раздел под ext4 и примонтировать с опциями -o noatime,async,data=writeback.

    Но прежде чем радоваться заметному повышению работу базы данных, рекомендую сначала протестировать и подготовить скрипты поднятия базы данных после нештатного выключения сервера (данные в tmpfs теряются безвозвратно, так же как некоторые данные для разделов, смонтированных с data=writeback). Так как на ненадежном хранилище размещаются не данные а индексы, то их потеря не критична (вопрос только во времени, требуемом для их полной перестройки).
    Ответ написан
    Комментировать
  • Виртуализция что быстрее VmWare/VirualBox или еще что то?

    @rPman
    Если что, у VMWare лучше поддержка эмуляции 3D акселератора (идут многие игры), а virtualbox у меня даже при попытке запустить простейший OnLive (в гостевой была winxp) ронял хост windows 7 x64 в BSOD!

    p.s. Если система x86 то для windows существует решение без виртуализации процессора вообще — www.colinux.org (к сожалению нет поддержки 64бит, она пилится уже давно и похоже разработка в стагнации).

    Это что то типа User-Mode Linux когда вместо виртуализации машины просто пишется специальное ядро linux, выступающее как прослойка и позволяющая запускать операционную систему linux (и только собранную под ту же процессорную архитектуру, что и хост система) даже без поддержки виртуализации процессором (так ка кпроцессор собственно и не виртуализируется). Дотстигается максимальная (теоретическая) производительность для вычислений… а точнее, все что не требует вызовов ядра работает так же быстро как в нативном linux.
    Ответ написан
    Комментировать
  • Есть ли вопросы к разработчикам софта и сканеров систем биометричесткой идентификации?

    @rPman
    Вопрос только один, они понимают что раздел отпечатков пальцев в системах биометрической идентификации один из самых ненадежных и для банковского сектора 9в общем случае я имею в виду) малопригоден?
    Ответ написан
    1 комментарий
  • Дамп-файл MySQL и кодировки. Нужна помощь

    @rPman
    Консоль в windows с кодировкой cp866, поэтому и 'кракозяблы'… что в test.txt?
    mysql .... -e "select * from table" > test.txt
    Ответ написан
  • Xen, Flashcache, Windows Guest проблема производительности?

    @rPman
    Собственно вопрос в том, как заставить Flashcache кешировать блоки по 512 байт их больше всего и если хотя бы они попадут в кеш, нам это здорово поможет.
    Альтернативный вариант решения проблемы как заставить гостевую Windows оперировать исключительно блоками размером 4К
    Проверить. может системный раздел ntfs, не отформатирован ли он с размером сектора 512? через backup-format-restore сделать размер сектора в 4к принудительно.
    Ответ написан
  • Агрессивная оптимизация потребления Chrome’ом ресурсов компьютера

    @rPman
    Решение посложнее — попробовать собрать открытый хромиум, на котором основан гуглхром, и там поотключать все доступное и не нужное опциями при компиляции… а при должном усердии, вырезая куски исходников вручную.
    Ответ написан
  • Ошибка при tar-backup живой linux-машины?

    @rPman
    tar --one-file-system забакапит только корневой раздел (без /dev и /proc естественно, правда если установка раскидана по разделам типа /usr, /var или /home, как рекомендуют некоторые устаревшие гайды, то прийдется их бакапить отдельной коммандой).

    И нужно понимать, что некоторые приложения, например базы данных, бакапить обычным копированием во время их работы не рекомендуется (и даже вредно для бакапа).
    Ответ написан
  • Возможно ли онлайн редактирование Word, Excel файлов, которые хостятся на моём сервере, чтобы сторонний сервер принял файл и после редактирования отдал мне на сервер обратно?

    @rPman
    Даже если закрыть глаза какие то средства в самом ms office (почти наверняка завязанные на кучу фиктивных и не очень технологий от MS что в конечном счете выльется в серьезные вложения и изменения в инфраструктуре) то можно предложить тупое решение:
    * вебсервер на время сессии 'редактирования документа' генерирует ссылку вида \\ip_сервера_samba\шара\путь_сгенерированный_на_время_сессии\редактируемый_файл
    * а уже офис открывает и редактирует этот файл
    только нужно будет немного подсуетиться, чтобы ссылка отправлялась офису без скачивания документа.
    Ответ написан
  • Хитрое монтирование разделов

    @rPman
    С помощью твикера переназначил стандартные пути к медиа папкам

    Наверное дело в этом твикере, что это за тулза?

    А что, простая символическая ссылка уже не работает?

    в терминале:
    cp -r ~/Видео && rm -rf ~/Видео && ln -s /mnt/ssd/Видео ~/Видео

    p.s. если по каким то причинам символические ссылки не пашут и если это обычная домашняя установка без перемещаемых профайлов и большого количества пользователей...:

    sudo gedit /etc/fstab

    добавляем что то типа:
    /dev/sdb1/Видео /home/sk8er/Видео none bind 0 0
    Ответ написан
    Комментировать
  • Как автоматически посчитать людей в салоне автобуса или помещении?

    @rPman
    После предложений о фотоэлементах, датчиках касания к поручню и т.п. могу предложить необычную идею… установить датчики на автобусе (потребление бензина, угол наклона дорожного полотна, скорость,...) и на их основе состряпать мегасложную формулу (или нейронную сеть обучить) вычисляющую вес автобуса… затем делить на средний вес пассажиров (при обучении можно считать людей 'вручную').
    Ответ написан
    Комментировать
  • Почему sscanf использует запятую вместо точки при использовании русской локали в linux?

    @rPman
    Очень осторожно пишите программы, работа которых может зависеть от установленной локали, встречал людей, которые меняют параметры локали в windows очень причудливым образом.
    Везде, где возможна подобная неоднозначность принудительно прописывать параметры локали (как в windows так и в linux).

    В данном конкретном случае лучше постараться избежать сохранение и использование текстового представления таких неоднозначных вещей как вещественные числа и даты… первый же запрос в гугл на вашу задачу — сериализация вещественного числа в целочисленном представлении: stackoverflow.com/questions/4733147/portability-of-binary-serialization-of-double-float-type-in-c
    Ответ написан
    2 комментария
  • Возможна ли зенитка против комаров?

    @rPman
    Если от установки до комара расстояние — сантиметры, можно и водным пистолетом стрелять, а обнаружить и навести — проблема выбора видеокамеры и оптики.
    Ответ написан
  • Как отследить источники(сайты) с которых сделан копипаст на мою страницу?

    @rPman
    Если ваш проект — удобные механизмы для копипасты, то лучшее что тут можно порекомендовать, реализовать функционал в виде плагина к браузерам.

    Пусть он будет не обязателен, но его пользователям будут предоставлены плюшки. Пусть это будет 1-click install. Не нужно извращаться с анализом буфера и т.п… просто предоставьте инструментарий по удобному указанию копируемого текста на страницах.
    Ответ написан
    1 комментарий
  • Как грамотно составить ТЗ на разработку АСУ БД?

    @rPman
    Если организация крупная (от 100 человек в штате… это абстрактное определение, вопрос просто в наличии денег) то для создания и поддержки индивидуальной ERP системы (любого типа) для защиты от vendorlock (а это норма для таких систем) лучшее что можно придумать — создать свой IT отдел.

    Отдел — это не приходящий один программист по вызову, а минимум три человека, лучше больше, с организованной текучкой кадров (т.е. постоянно должны появляться новые люди и кто-то уходить, иначе vendorlock будет обеспечен уже на уровне работников, хотя это менее страшно, особенно если разработка будет происходить хотя бы с нормальной организационной составляющей, как минимум наличии поддерживаемой документации).

    Поверьте, это уже выстрадано не одной организацией, особенно если это гос-конторы. Когда встает выбор, платить внешнему разработчику 1кк-10кк или платить те же деньги своим работникам в течении 1-3 лет. И поверьте, потребность в апгрейде системы будет всегда, не бывает статичных бизнеспроцессов. Внешний серьезный разработчик потребует не меньшие миллионы на добавление пары кнопочек и никуда вы не денетесь, свои же программисты под боком, а за наглость их можно уволить (помним про специально организованную текучку кадров), мало того, проконтролировать промежуточный результат. И самое главное, свои люди лучше разбираются в предметной области!

    Хорошо ВУЗ-ам, у них специалисты куются на автомате и текучка обеспечена (только до маразма доводить не стоит и нужен грамотный руководитель).

    Плохо то что не для всякой организации подобный подход легко реализуем (эффективно по затратам). Организациям поменьше будет сложно выделить и пару тройку ставок, при этом нагрузка на этих работников не равномерная, хорошо если ставки можно совместить (грузчик-тестер, бухгалтер-программист, менеджер по товарам — системный администратор), иначе придется топать в аутсорс (только не вздумайте ведущего программиста там искать, только свой под боком).
    Ответ написан
    6 комментариев
  • Беспроводное видео наблюдение на улице

    @rPman
    Первый же ответ на запрос в гугол — dsslnews.com/news/security-news/8705
    Но мн кажется это будет очень дорого… можно конечно что-нибудь кустарное нахимичить, купить китайский сотовый за 2-3т.р. купить зарядник на солнечных батареях, установить на столб…

    … и долго фейспалмить, когда эту конструкцию сопрут в третью ночь.
    Ответ написан
    Комментировать
  • Посоветуйте матплату (или девайс целиком) для home server с минимальным энергопотреблением

    @rPman
    x86 и 15ват — «это фантастика сынок»
    40ват — miniitx решения, а вторая сетевуха добавляется платой. Идеальное решение, как ни крути, как по цене так и по доступности…
    Ответ написан
    Комментировать
  • На чем написать простое Web приложение с минимальными усилиями для новичка?

    @rPman
    При необходимости — серверную часть делать на какой либо SAAS платформе, например google app engine (хотя в вашем случае там так мало кода что нет разницы на чем делать… php/asp/..)

    Клиентскую часть можно сделать на ru.wikipedia.org/wiki/Twitter_bootstrap
    Ответ написан
    Комментировать