• Как доказать что мой кейлоггер — не вирус?

    @egorinsk
    > собственно, слежение за халтурящими работниками

    Ага, зачем платить большую зарплату и нанимать трудолюбивых сотрудников, лучше платить маленькую и контролировать каждое движение. Можно еще супервизора поставить, чтобы он целый день сидел и в мониторы заглядывал. И систему штрафов ввести.
  • Как доказать что мой кейлоггер — не вирус?

    @egorinsk
    > Возможно, это везение, но с такими несерьёзными мерами предосторожности я за много лет не словил ни одного трояна.

    Вы их не словили только потому, что вирусы пишутся под другую категорию пользователей. Сам ваш метод проверки ненадежен, и при желании, вирусописатель сможет вас обмануть (плюс. любой приличный вирусописатель умеет отличить песочницу от настоящей ОС).
  • Карта в Ext.Window.window отображается только частично

    @egorinsk
    Возможно, стоит отладчиком перехватить тот момент, когда карта рассчитывает свои размеры, и посмотреть, что именно там происходит.
  • Можно ли заворачивать button в href?

    @egorinsk
    > Чтобы сделать «ссылкой» кнопку, следует обернуть её простейшей GET-формой:

    Не проще ли средствами CSS стилизовать ссылку в виде кнопки?
  • Клиент-серверные приложения на Assembler'е

    @egorinsk
    Вам нужна не литература, а описание системных функций для работы с berkeley sockets. Для Windows — это сайт MSDN, для Линукс — мануалы. Какая разница, на ассемблере вы пишете или на чем-то еще, если отправлять и принимать пакеты будет операционная система.
  • Разработка jQuery-плагина: как правильно обрабатывать события?

    @egorinsk
    > Зачем тут mousedown

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

    Click вообще плохо здесь подходит, так как он не сработает например, при перетаскивании. Получается, если вы используете click, ваш элемент работает криво и не во всех случаях, что производит на пользователя впечатление, что что-то сломалось. Потому надо использовать mousedown, чтобы не производить вречатления, что что-то сломалось.

    Плюс, есть еще одна маленькая хитрость. Использование mousedown производит впечатление, что программа реагирует быстрее. Попробуйте, например, сделать табы (вкладки), реагирующие на click и на mousedown — те, которые реагируют на click производят впечатление, что компьютер тормозит. Попробуйте и посмотрите сами.
  • Разработка jQuery-плагина: как правильно обрабатывать события?

    @egorinsk
    Потому, что, если например щелкнуть по вашей якобы ссылке правой кнопкой, и выбрать «открыть в новом окне», то откроется та же самая страница. Ссылка (по определению) куда-то указывает, на какой-то URL. Куда указывает ваша ссылка? Что это за адрес — #? Можно ли ее отправить через IM?

    Вы используете тег A, чтобы создать синюю подчеркнутую надпись. То, что она подчеркнута и даже то, что на нее можно нажать, не делает ее ссылкой. Понимание того, чем ссылка отличается от подчеркнутой надписи и от кнопки и есть понимание основ HTML. Поэтому я сделал вывод, что вы пока плохо знаете этот язык. Надеюсь, вы со временем изучите все его особенности.
  • Разработка jQuery-плагина: как правильно обрабатывать события?

    @egorinsk
    $(document).on('click') — по моему, это не совсем верный код, во-первых, надо использовать тут mousedown, во-вторых, у вас каждый вызов dropdown() будет устанавливать еще один обработчик на документ, это как минимум уродливо. Логичнее использовать единственный обработчик для всех дропдаунов.

    Но этот способ, конечно лучше того, что придумал автор вопроса.

    Также, желательно добавить индикацию загрузки и обработку ошибок при отправке запроса или получении ответа.
  • Выполнение участка кода в реальном времени, засекаем время?

    @egorinsk
    В Windows есть приоритет реального времени, или что-то вроде этого, но им при неумелом использовании можно повесить систему (так как задача займет все процессорное время).
  • Количество памяти занятой процессом значительно меньше чем уменьшение свободной памяти (8Мб vs 160Мб)?

    @egorinsk
    Это может быть дело не только в вашем коде, а, например, какая-нибудь из библиотек выделяет себе при инициализации эти виртуальные 160 мегабайт. У вас в выводе pmap во второй колонке нули, если вы знаете, как их отобразить, тогда можно было бы и посмотреть, кто именно забирает это пространство.

    Или альтернативный вариант — отладка — отслеживайте системные вызовы через утилиту strace или подобную и смотрите, в какой момент и кто выделяет память, или запускайте программу в режиме отладки пошагово и следите за выделением памяти, или поставьте перехват на функции выделения памяти (mmap, brk, что еще?) и следите, в какой момент она выделяется.
  • Количество памяти занятой процессом значительно меньше чем уменьшение свободной памяти (8Мб vs 160Мб)?

    @egorinsk
    > почему "-/+ buffers/cache" совпадает с «mem»

    Очевидно, потому, что buffers/cache = 0. Хотя не очень понятно, как автор добился такого эффекта.
  • Остатки в интернет-магазине в режиме реального времени

    @egorinsk
    > (есть у них такой неприятный пунктик в лиц.соглашении)

    А разве такие пунктики законны?
  • Любопытный вопрос из тестового задания?

    @egorinsk
    Можно посмотреть на пример уязвимого кода? Вы же не думаете, что кто-то будет писать бессмысленные конcтрукции вроде $x == 1 && $x ==2?
  • json вместо html

    @egorinsk
    > а вот джаваскрипт-функции — это уже более экзотично…

    Это как раз простая часть, можно либо делать eval() послу загрузки скрипта, либо делать var script = document.createElement('script'); script.src = ''; document.body.appendChild(); и так далее.
  • json вместо html

    @egorinsk
    Это плохая идея, если у вас 30 компонент, у вас будет 30 запросов к серверу ( = вечность). Будет ощущение, что сайт тормозной. Загружать выгоднее всего одним запросом. Если уж на то пошло, шаблонов для сущностей у топикстартера вряд ли будет больше 10 и логичнее всего их сразу включить в код страницы, чтобы не тратить время на пинг-понг с сервером.

    Правильный способ вы можете, увидеть, например, вконтакте. Там когда надо отобразить какой-то диалог с сервера, одним запросом подгружается сам диалог, и JS-код, управляющий им, и все остальное.
  • Confirm Form Resubmission после POST-запроса в Google Chrome

    @egorinsk
    Верно, для 303 должен использоваться GET.
  • Как создать перегруженный конструктор класса в JS?

    @egorinsk
    Если надо делать понятно новичкам, то можно через if (arg === undefined), но новички, не понимающие этих конструкций, вам столько дров наломают, что страшно на код будет смотреть потом. Особенно с учетом того, сколько яваскрипт дает свободы. Например, свобода обращения к несуществующим полям объектов и элементам массивов.
  • Как создать перегруженный конструктор класса в JS?

    @egorinsk
    Это редкая ситуация, в случае допустимости нуля можно написать (arg2 !== undefined) || (arg2 = DEFAULT_VALUE);
  • Как вернуть в Firefox просмотр pdf??

    @egorinsk
    Сторонники теории заговора, кстати, могли бы добавить, что стремление явы установить по умолчанию в браузер плагин и адоб ридера влезть в браузер, несмотря на их дырявость, обусловлено влиянием американской разведки, таким образом обеспечивающей себе доступ к компьютерам по всему миру, но мне кажется, тут чисто коммерческие причины.
  • Как вернуть в Firefox просмотр pdf??

    @egorinsk
    Достаточно посмотреть на историю предыдущих zero day уязвимостей в этом продукте и сделать вывод о его надежности.

    www.malwaretracker.com/pdfthreat.php
    blog.fireeye.com/research/2013/02/in-turn-its-pdf-time.html
    www.group-ib.com/index.php/7-novosti/672-group-ib-us-zero-day-vulnerability-found-in-adobe-x

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

    Неудивительно, ведь в США нет органов, контролирующих качество выпускаемого ПО, и нет случаев наказания за нарушение норм качества. Когда нет наказания, меньше мотивации делать безопасный продукт.

    Подход Гугла полностью противоположен подходу компании Адоб. При разработке браузера изначально была спроектирована надежная песочница, изолирующая потенциально уязвимые компоненты.

    Если пользователь хочет пользоваться безопасным софтом, он выберет продукт Гугл. Если пользователь хочет статья частью ботнета, он волен использовать Adobe Reader с бесплатными бекдорами внутри.