Задать вопрос
  • Текстовый редактор и компилятор или IDE - что лучше и почему?

    @rPman
    Если обсуждать 'сферического коня' то выбор между 'notepad' и 'полнофункциональный IDE с отладчиком' диктуется не только выбранными библиотеками и фреймворками, но и банальной трудоемкостью развертывания и первоначальной настройки.

    Отличный пример - попробуйте настроить с ходу на windows машине какой-нибудь php-IDE с работающей отладкой, вы меня поймете.

    Например, долгое время, разработку серверной части php-сервисов (не только веб кстати) проходил в windows в FAR+несколько плагинов, без отладчика, зато без каких либо требований к рабочей машине, каких-то настроек и установки приложений, а на linux мне хватало vim.
    Ответ написан
    Комментировать
  • Каким образом хранить большой (2400*1800) двумерный массив в БД?

    @rPman
    Ваша задача очень эффективно решается обычным файлом на диске (открытый с запретом lazy writes, либо принудительным flush после каждой записи). Если инструментарий (язык программирования и библиотеки) позволяет - откройте файл маппингом на память.
    Индекс для таких запросов не нужен, ведь ячейки можно индексировать примитивно - (x+maxx*y). запрос 100x100 блока превращается в 100 быстрых чтений по 100байт. Если это оправдано, можно хранить не ячейки а блоки 100x100, тогда при чтении будет читаться в 4 раза больше данных но четырьмя чтениями. Но если блок данных экрана влезает в буфер опережающего чтения операционной системы (драйвере файловой системы) то такой метод хранения будет неактуален.

    Любой другой метод будет медленный либо по записи (например хранить в базе не ячейки а блоки 100x100, соответственно при запросе блока будут считываться четыре соседних), либо медленный по чтению (хранить по одной записи на ячейку) и не эффективный по месту на диске.
    Ответ написан
    2 комментария
  • Коммерческий closed-source интерфейс к консольной утилите под лицензией LGPL?

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

    @rPman
    Еще есть вариант с использованием достижений (задания/квесты), количество выполненных - оценка для рейтинга. Можно систему рейтингов сделать зависимой (достижения могут быть выполнены только после выполнения предыдущих, можно даже сделать дерево достижений, чтобы игрок мог выбирать, чем именно заниматься)
    Ответ написан
    Комментировать
  • Что предпочтительнее, таблица-связь или несколько доп. поля?

    @rPman
    Практика показала, что в конечном счете сложные и универсальные property/value решения все равно разовьются до кеширования значений в полях рядом (совершенно нормально будет тригерами наполнять полупустые кеш-таблицы с 100500 полей).

    Т.е. для скорости вы все равно создадите эти поля (иначе реляционные базы ну оооооооооооочень медленные), но наличие property/value подхода развязывает руки и дает больше возможностей в будущем.
    Ответ написан
    Комментировать
  • Можно ли придумать новый алгоритм более быстрого нахождения нулей в "соли" блока?

    @rPman

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

    Ответ написан
    Комментировать
  • Какой name-регистратор лучше использовать для торрент трекера?

    @rPman
    namecoin ;)
    пора уже вовсю его использовать начинать… пока как дополнительный домен
    p.s. кстати есть патчи для i2p
    Ответ написан
    1 комментарий
  • Где взять случайное целое число, подлежащее сторонней проверке?

    @rPman
    На текущий момент ЕДИНСТВЕННЫЙ генератор случайных чисел не подверженный манипуляциям и проверяемый (точнее с точной оценкой гарантии в деньгах или иных понятных величинах) — это bitcoin (а точнее любые криптовалюты, просто он достаточно дорогой).

    Из недостатков — вы можете получить любое количество псевдослучайных чисел на базе нескольких случайных величинах (хеши из блоков или id транзакций), которые формируются (а точнее принимаются) не чаще чем достаточно большой интервал, а гарантия напрямую зависит от их количества. Речь идет о десятках минут и часах (6 подтверждений ~ час)… и главное, этот интервал тоже подвержен случайному числу.

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

    Возможные манипуляции — обладатель достаточных вычислительных мощностей (для PoW) и для некоторых криптовалют достаточного количества монет (для PoS), а сейчас разрабатываются еще более интересные технологии, например Proof-of-Wasted-Space (наличие памяти со случайным доступом) — может 'отменять' найденные блоки, таким образом меняя обнаруженное случайное число (но на какое то иное, значение которого так же не прогнозируемо).
    Например пусть это будет следующий за текущим блок и 6 подтверждений после него. Алгоритм — последний байт в хеше блока (т.е. интервал числа 0..255)

    Оценка стоимости атаки зависит от параметров сети, например для bitcoin это награда в блоке (статья исследование оценки требуемой мощности btcsec.com/double-spending/ ), на текущий момент это достаточно дорогое удовольствие (оценка стоимости хотя бы 2% — сейчас это 72терахеша — по цене хотя бы облачного майнинга cex.io в 0.12btc за GH/s ~ 8640btc или в$ по 223$/btc — ~2 миллиона $, и сюда не входит стоимость поддержания этого процента).
    Ответ написан
    Комментировать
  • Как убрать из обработки один java script на сайте?

    @rPman
    Если оригинальный скрипт не сохранил идентификатор таймера, возвращаемого при иннициализации, то никак. Официального способа перечислить запущенные таймеры нет, кроме как переопределить setInterval ДО вызова на свою функцию.

    Если повезет, можно найти в вызываемом скрипте условие, при котором он завершится с ошибкой или будет работать вхолостую (удалить используемый DOM объект например).
    Ответ написан
    Комментировать
  • Как открыть локальный xml файл на android с помощью javascript?

    @rPman
    Это вопиющее нарушение секурити, возможность открывать локально файлы из веб-приложения (даже запущенного локально) считаю огромной дырой. Судя по всему IE этим до сих пор грешит (небось сделали кучу затычек в почтовом клиенте, чтобы совсем не быть дырявым).

    По уму это кстати настраивается в политиках (для IE).
    Ответ написан
    1 комментарий
  • Связь с Android приложением

    @rPman
    Штатные утилиты android sdk содержат утилиту adb, одна из возможностей — редирект подключений в устройство, в т.ч. в character device:
      adb forward <local> <remote> - forward socket connections
                                     forward specs are one of: 
                                       tcp:<port>
                                       localabstract:<unix domain socket name>
                                       localreserved:<unix domain socket name>
                                       localfilesystem:<unix domain socket name>
                                       dev:<character device name>
                                       jdwp:<process pid> (remote only)
    
    
    Ответ написан
    1 комментарий
  • DLL ресурсов в — поясните для «скриптера» непонятные моменты, пожалуйста

    @rPman
    ID это просто идентификатор, определяется программистом (правда есть какие то предопределенные варианты, но если ресурсвьювер их не понял… значит чистый custom user)

    Все это великолепие определяется в исходных текстах проекта в resource.h и подключается при компиляции файла resource.rc в котором текстом все это было описано. Если вас нет это го файла, значит обламывайтесь… и ничто не мешает в новой версии программисту переопределить эти идентификаторы на свой вкус.

    p.s. начните с этой кнопки msdn.microsoft.com/en-us/library/windows/desktop/aa380599%28v=vs.85%29.aspx
    Ответ написан
    Комментировать
  • Провоз жесткого диска с информацией в самолете

    @rPman
    Я не знаю, какие могут быть проблемы…
    Если опасаетесь досмотр именно цифровой части, то все просто — зашифруйте раздел и скажите что везете новые пустые диски.
    Ответ написан
    Комментировать
  • Возможно ли корректно открыть файл в кодировке 866 (DOS) в LibreOffice из командной строки?

    @rPman
    Перекодировать файл перед открытием (man enca) не вариант? сохранять нужно так же в этой кодировке?
    так же можно помыслить в направлении запуска скрипта (который уже сменит кодировку текста), управление передается ключом:

    -accept={UNO string}
    Уведомляет систему LibreOffice о том, что после создания потоков получателя UNO будет использоваться строка приема UNO.
    Для получения дополнительной информации см. Руководство разработчика LibreOffice.
    


    Гугл выдает какие то примеры по запуску макроса.
    Ответ написан
  • Аналог TeamViewer, Ammy, VNC

    @rPman
    Если на вашей стороне нет проблемы с белым IP и открытыми портами, то собираете portable сборку практически любого vnc server, высылаете ее с готовым ярлыком/батником запуска этого сервера с подключением к вашему запущенному vnc viewer в режиме listen connect.

    Оформить в виде самораспаковываемого архива думаю сумеете?
    Ответ написан
    2 комментария
  • Можно ли создать такое устройство на базе Arduino?

    @rPman
    У вас основная проблема — механика.
    Даже собрав на базе любого микропроцессора (хоть к тому же обычному компьютеру по LPT цепляйте через драйвер шаговые моторы) ваша конструкция может вносить погрешности — т.е. соскочил зубец в редукторе, погнулась 'балка', да банально разная температура и соотв. температурное расширение и камера уже смотрит не туда.

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

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

    Я могу предложить самую простую и оригинальную — закрепить лазерную указку/или зеркала, отражающие ее свет таким образом, чтобы движение светового пятна по стенам комнаты (лучше соорудите специальные экраны, с правильными углами для облегчения расчетов) а положение этого пятна отслеживать видеокамерой и очень простым софтом (его даже и на ардуине написать можно, считывая информацию с видеосенсора, получающего изображение через светофильтр, подобранный под цвет указки, гуглить 'arduino слежение за источником света') либо приспособить для этого обычный компьютер и несколько дешевых вебкамер (выбор которых определяется скоростями, с которыми будет поворачиваться камера)

    Количество лазерных указок подбирается под количество свобод, в которых должна двигаться камера, например две свободы (поворот верх/низ, влево/вправо) — один луч.

    p.s. чуть более сложная схема, оформленная в виде уже конечного датчика поворота, может быть чуть другой — вращающаяся зеркало, установленное в поворотном шарнире, отражает луч в трубу, являющуюся по совместительству ребром жесткости или собственно самим штативом, на конце которого датчик, второй датчик закреплен у зеркала и ловит точное количество оборотов. В итоге, задержка между сигналом на датчике оборотов и датчике в конце трубы будет определять угол наклона. Такая схема очень точная, но скорость реакции зависит от скорости вращения зеркала.
    Ответ написан
    Комментировать
  • Обзор 3D притера MakerBot Replicator 2, нужен?

    @rPman
    Обязательно!

    И пожалуйста, не просто 'распечатал очередной кубик, класс', а по возможности хоть какое то минимальное исследование проведите, например реальные размеры объекта (по всем координатам), реальные погрешности (распечатать несколько разных объектов, или один и тот же, но размещая его на подложке по разному — вертикально, горизонтально, под наклоном). Так же можно показать тесты слайсера, точнее зависимость результата от настроек, наполнения и т.п.

    Если есть настройки точности, то как влияет на скорость и погрешности в результате. А так же провести тесты на прочность — растяжение, сдавливание, слом..., для каждого типа наполнения. В общем все по взрослому.

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

    Очень не хватает подобной информации по КАЖДОЙ модели принтера.

    p.s. первая модель обещала быть в закрытом корпусе с подогревом (и очень дешевой, жаль не взлетело), что должно невероятно положительно сказаться на термо-искажениях во время печати, это когда объект 'ведет' из-за неравномерного остывания (снизу быстрее чем сверху), у второй версии тоже все так же хорошо?
    Ответ написан
    4 комментария
  • По глупости удалил с AWS Amazon citrix xen tools?

    @rPman
    Нет бакапа?
    Через сложный и тернистый путь — подключить диск инстанса в соседней виртуалке и добавить какие-нибудь средства администрирования копированием в соотв. папки и редактированием реестра. По мне так самое простое — настроить любой vnc portable (чтобы запускалось и сразу начинало ждать подключения) и положить в… AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    А если автологон отсутствует, то настроить в качестве службы, отредактировав соотв. ветки реестра.

    А уже после, получив хоть какое то управление над машиной, восстановить удаленные утилиты.
    Ответ написан
    Комментировать
  • Как понять почему Ростелеком заблокировал сайт?

    @rPman
    Сайт размещен на shared хостинге? т.е.возможно ростелеком заблокировал по IP сразу все сайты, размещенные на нем у вашего провайдера.

    Что делать? Как минимум гневно обратиться к виновнику,… письменно (бумага, почта России, с подтверждением о вручении, лично начальнику/...), телефонным звонком и т.п. Так же обратитесь к своему интернет провайдеру и к своему хостинг-провайдеру! Они тоже могут оказаться в курсе и тоже внести свою долю в решении проблемы.

    Понятно, что почти наверняка ничего не изменится. Но, если только молчать, ничего точно не изменится, а так будет проявлена активная позиция и возможно что то изменится к лучшему.
    Ответ написан
  • Есть ли возможность в поисковых системах искать по названиям файлов архивов (zip, rar и др.) и содержимому архивов

    @rPman
    Все зависит от технологии хранении и передачи информации и типа архивов.
    Например если torrent считать 'архивом' (это контейнер для нескольких файлов) то есть отличный поисковик btdigg.org ищет все торренты по их именам и файлам в них, публикуемых в DHT сети.
    Ответ написан