• Ноутбук для студента. MacBook или не MacBook?

    spmbt
    @spmbt
    Просто других бюджетных с этим процессором не нашёл. Но есть в нём и неожиданные плюсы. Например, драйвер тачпада для WinXP в нём — совершенно беспроблемный (если найти и установить правильный — официально поддержки ХР в нём нет вообще).

    А вот и на Ivy Bridge модель появилась: Acer Aspire One 756 www.3dnews.ru/mobile/640011/
  • Javascript slider?

    spmbt
    @spmbt
    Спасибо за ссылки; замечание. Пример на странице Royal Slider (последняя ссылка) захватывает события клавиатуры со всего окна. Чтобы этого не было (иначе что будет с 2 слайдерами на странице?), нужно ставить слайдер в iframe.
  • Веб-морда для batch скриптов?

    spmbt
    @spmbt
    До программистов эта шутка была про математиков. (Тест.)
  • Веб-морда для batch скриптов?

    spmbt
    @spmbt
    тест изменения ответа; изменён
  • Страница не найдена (404-я ошибка)?

    spmbt
    @spmbt
    Интересно, кто её то чинит, то ломает?: )
  • Как найти драйверы Windows XP на ноут с Sandy Bridge? (+ответ)?

    spmbt
    @spmbt Автор вопроса
    Не всё так просто. Смотрим, что предлагают в последней версии:
    DriverPack Solution 12.3 Full
    Цена: бесплатно (Open Source)
    Версия: 12.3 R255 (17.03.2012)
    Внимательно смотрим на дату и понимаем, что октябрьских интеловских драйверов для XP здесь нет. То же самое — по видео, встроенному в процессор, для XP. Драйвера для него примерно августовские. (Для вин 7-8 драйвера появились сразу). По опыту, со старыми драйверами комп работать будет, но неполноценно (с тормозным видео и без ACPI).

    Ребята, я же не просто так написал; мне кажется, что большинство из прочитавших не понимает сути проблемы, которая есть и вполне реальна. В моем решении тоже, ни платить не надо, ни экзешники ставить с файлхостингов, которые очень любят почему-то предлагать на acerfans.ru.
  • Сервис по сохранению статей хабра. Потерял ссылку

    spmbt
    @spmbt
    deniskin: меня ввёл в заблуждение заголовок личной страницы автора: habrahabr.ru/users/opium/, в котором не было на привычном месте ссылки на список статей. А перед этим посмотрел на исчезновение своих комментариев в этой статье и пошёл проверять автора, так и узнал, что он почему-то забанен. Только после Вашей прямой ссылки обнаружил список статей сбоку. Поэтому до сих пор был уверен что все статьи автора скрыты. Извините за невнимательность.

    А почему постоянно? Я регулярно замечаю и положительные движения сайта и публично отмечаю их (введение счётчика просмотров в интерфейс, ряд нововведений в сайте, которых не было в начале года и которые я затем отметил в статье как сделанные. Да и про людей я отрицательно не высказывался. Статья его действительно скрыта, а по исходному тексту не видно, что он там просил карму — вот она в кеше Бинга ещё осталась. (Значит, скрыта за просьбу кармы какая-то другая его статья.)
  • Сервис по сохранению статей хабра. Потерял ссылку

    spmbt
    @spmbt
    deniskin: спасибо за ответ, но этих фактов никто не знал, поэтому догадываться можно было о чём угодно, особенно о публикации этого сайта 2-3 дня до этого вместе с удалением всех его публикаций.
  • Как определить загруженность стилей CSS в Опере до загрузки DOM?

    spmbt
    @spmbt Автор вопроса
    Да, почти помогло — document.styleSheets в этот момент уже существует. Понадобилась пробежка по правилам, поиск юзерстилей (.href = null), удостоверение в том, что нужное правило написано. Но, как ни странно, хотя все остальные стили подгружены, на момент опроса юзерстили не имеют списка правил. То есть, грузятся сначала скрипты, за ними стили.

    Смена имени, по совету Aingis, помогает на этом этапе увидеть правила юзерстилей, но с таким доступом они там не нужны, хватает win.getComputedStyle и 2 строчек. Так что осталось в конце концов ручное прописывание пользователем подключённости стилей в случае скрипта не в файле не с расширением *.user.js.

    Помогает минимальная задержка win.setTimeout(.., 10), и это бы работало, но требует изменить логику следования скриптов (все непосредственные, которым нужны стили, делать с сзадержкой) и тестировать во всех бр-рах. Так что попозже, может быть, будет.
  • Вопрос по jQuery?

    spmbt
    @spmbt
    Будет нЕмного (порядка 1 мс), а не нАмного. Потому что вычисляется по querySelectorAll в редких случаях кликов, что человеку совершенно незаметно.
  • Ищу тонкий ноут 11" 8Гб Озу

    spmbt
    @spmbt
    market.yandex.ru/search.xml?text=SVZ-1311&cvredirect=2
    Есть 2 адреса, 1 на заказ. Интересно, что официальная цена в 2 раза выше, чем в США.
  • Правда же, новый показатель «Просмотры поста» великолепен?

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

    Похоже, Вы тоже поддерживаете традицию неточных выражений, как это традиционно на Хабре.
    Наверное, не зашедшие под кат, а просмотревшие страницу. Проверил это так.

    *) Открыл самый малопосещаемый вопрос с 72 просмотрами за вчера. Не перешёл на него по ссылке, а открыл по адресу в новой вкладке, под анонимусом. Обновил — снова 72 (ну это понятно, кеширование примерно на минуту).
    *) через минуты 3 открыл — 73 просмотра. Перехода — не было, счётчик сработал.
    *) зашёл ещё раз. Через минуту — 74.
    *) обновляю список вопросов — 74 (понятно). Жду ещё 5 минут, обновляю список — 75 (возможно, кто-то ещё просмотрел)
    *) через 2 часа: 79. Ладно, делаем следующую часть: обновить открытую страницу и посмотреть счётчик через минуту.
    *) через минуту — 80. Итого — считается каждый просмотр, даже обновление страницы одним юзером.
    (А боты тоже будут считаться? Хе-хе.)
  • Правда же, новый показатель «Просмотры поста» великолепен?

    spmbt
    @spmbt Автор вопроса
    Это ожидаемо, про пятый айфон, очень подробный пост, на уровне бумбурумовских. :)
  • Правда же, новый показатель «Просмотры поста» великолепен?

    spmbt
    @spmbt Автор вопроса
    Не очень хорошее решение, потому что воспринимается как ошибка сайта. Ведь из баз всё это можно вычислить; другой вопрос — это потребует времени, работы и отыскания ошибок. Раньше уже было ретроспективное появление положительных-отрицательных оценок — воспринято очень хорошо. Нет границы-бага, до которого как бы «мы раньше не умели», а потом научились. Весь сайт, и старые посты и комментарии поддерживают 2 типа оценок бесшовно. А тут — разрыв.
  • Правда же, новый показатель «Просмотры поста» великолепен?

    spmbt
    @spmbt Автор вопроса
    Понятно, сожалею, но всё равно суперфича.
  • Кто подскажет JS-либу для выделения русских корней слов?

    spmbt
    @spmbt Автор вопроса
    В смысле, потом объединить известные исключения? В общем, да, тогда полдела будет сделано. Но неучёт приставок — это значит, что в исключения попадут почти все слова. Возможно, тут надо на полученном списке провести обратный стемминг по приставкам (чтобы работала общая процедура, только окончания заменить на приставки и инвертировать список), из оставшегося списка — работа с исключениями.
  • Кто подскажет JS-либу для выделения русских корней слов?

    spmbt
    @spmbt Автор вопроса
    Словарь тыс на 20 слов вполне можно поместить в браузер, только работать с ним древовидно. В такой объём поместятся все исключения и несколько спецсловарей сверху.
  • Кто подскажет JS-либу для выделения русских корней слов?

    spmbt
    @spmbt Автор вопроса
    Не то, что хотелось (мало языковых знаний, нет изменяемых корней и префиксов), но, видимо, придётся руками собирать по частям, чтобы было нечто интересное.
    Вот все окончания, для справки пусть тут полежат:
    Скрытый текст
    //Snowball JavaScript Library v0.3
    	var a_0 = [
    new Among("в", -1, 1),
    new Among("ив", 0, 2),
    new Among("ыв", 0, 2),
    new Among("вши", -1, 1),
    new Among("ивши", 3, 2),
    new Among("ывши", 3, 2),
    new Among("вшись", -1, 1),
    new Among("ившись", 6, 2),
    new Among("ывшись", 6, 2)
    ],
     a_1 = [
    new Among("ее", -1, 1),
    new Among("ие", -1, 1),
    new Among("ое", -1, 1),
    new Among("ые", -1, 1),
    new Among("ими", -1, 1),
    new Among("ыми", -1, 1),
    new Among("ей", -1, 1),
    new Among("ий", -1, 1),
    new Among("ой", -1, 1),
    new Among("ый", -1, 1),
    new Among("ем", -1, 1),
    new Among("им", -1, 1),
    new Among("ом", -1, 1),
    new Among("ым", -1, 1),
    new Among("его", -1, 1),
    new Among("ого", -1, 1),
    new Among("ему", -1, 1),
    new Among("ому", -1, 1),
    new Among("их", -1, 1),
    new Among("ых", -1, 1),
    new Among("ею", -1, 1),
    new Among("ою", -1, 1),
    new Among("ую", -1, 1),
    new Among("юю", -1, 1),
    new Among("ая", -1, 1),
    new Among("яя", -1, 1)
    ],
     a_2 = [
    new Among("ем", -1, 1),
    new Among("нн", -1, 1),
    new Among("вш", -1, 1),
    new Among("ивш", 2, 2),
    new Among("ывш", 2, 2),
    new Among("щ", -1, 1),
    new Among("ющ", 5, 1),
    new Among("ующ", 6, 2)
    ],
     a_3 = [
    new Among("сь", -1, 1),
    new Among("ся", -1, 1)
    ],
     a_4 = [
    new Among("ла", -1, 1),
    new Among("ила", 0, 2),
    new Among("ыла", 0, 2),
    new Among("на", -1, 1),
    new Among("ена", 3, 2),
    new Among("ете", -1, 1),
    new Among("ите", -1, 2),
    new Among("йте", -1, 1),
    new Among("ейте", 7, 2),
    new Among("уйте", 7, 2),
    new Among("ли", -1, 1),
    new Among("или", 10, 2),
    new Among("ыли", 10, 2),
    new Among("й", -1, 1),
    new Among("ей", 13, 2),
    new Among("уй", 13, 2),
    new Among("л", -1, 1),
    new Among("ил", 16, 2),
    new Among("ыл", 16, 2),
    new Among("ем", -1, 1),
    new Among("им", -1, 2),
    new Among("ым", -1, 2),
    new Among("н", -1, 1),
    new Among("ен", 22, 2),
    new Among("ло", -1, 1),
    new Among("ило", 24, 2),
    new Among("ыло", 24, 2),
    new Among("но", -1, 1),
    new Among("ено", 27, 2),
    new Among("нно", 27, 1),
    new Among("ет", -1, 1),
    new Among("ует", 30, 2),
    new Among("ит", -1, 2),
    new Among("ыт", -1, 2),
    new Among("ют", -1, 1),
    new Among("уют", 34, 2),
    new Among("ят", -1, 2),
    new Among("ны", -1, 1),
    new Among("ены", 37, 2),
    new Among("ть", -1, 1),
    new Among("ить", 39, 2),
    new Among("ыть", 39, 2),
    new Among("ешь", -1, 1),
    new Among("ишь", -1, 2),
    new Among("ю", -1, 2),
    new Among("ую", 44, 2)
    ],
     a_5 = [
    new Among("а", -1, 1),
    new Among("ев", -1, 1),
    new Among("ов", -1, 1),
    new Among("е", -1, 1),
    new Among("ие", 3, 1),
    new Among("ье", 3, 1),
    new Among("и", -1, 1),
    new Among("еи", 6, 1),
    new Among("ии", 6, 1),
    new Among("ами", 6, 1),
    new Among("ями", 6, 1),
    new Among("иями", 10, 1),
    new Among("й", -1, 1),
    new Among("ей", 12, 1),
    new Among("ией", 13, 1),
    new Among("ий", 12, 1),
    new Among("ой", 12, 1),
    new Among("ам", -1, 1),
    new Among("ем", -1, 1),
    new Among("ием", 18, 1),
    new Among("ом", -1, 1),
    new Among("ям", -1, 1),
    new Among("иям", 21, 1),
    new Among("о", -1, 1),
    new Among("у", -1, 1),
    new Among("ах", -1, 1),
    new Among("ях", -1, 1),
    new Among("иях", 26, 1),
    new Among("ы", -1, 1),
    new Among("ь", -1, 1),
    new Among("ю", -1, 1),
    new Among("ию", 30, 1),
    new Among("ью", 30, 1),
    new Among("я", -1, 1),
    new Among("ия", 33, 1),
    new Among("ья", 33, 1)
    ],
     a_6 = [
    new Among("ост", -1, 1),
    new Among("ость", -1, 1)
    ],
     a_7 = [
    new Among("ейше", -1, 1),
    new Among("н", -1, 2),
    new Among("ейш", -1, 1),
    new Among("ь", -1, 3)
    ]
    
  • JQuery File Upload: Как, при использовании только basic plugin, сделать отправку файлов по клику на кнопку?

    spmbt
    @spmbt
    habrahabr.ru/post/112960/
    $.when( doAjax(), doMoreAjax() )
       .then(function(){
          console.log( 'I fire once BOTH ajax requests have completed!' );
       })
       .fail(function(){
          console.log( 'I fire if one or more requests failed.' );
       });
    
    что-то такое