Mr.KTO blog





JavaScript  →  Заблокировать Chrome старым добрым while(1)alert(1);

20 февраля 2013

Нет, при попытке использования кода:

<script>while(1)alert(1)</script>

Chrome позволит остановить выполнение скрипта:

Однако, достаточно вставить на страничку достаточное число <iframe>-ов страничек, содержащих обработчик события onbeforeunload и unload:

<iframe src="/onbeforeunload.htm"></iframe>
<iframe src="./onbeforeunload.htm"></iframe>
<iframe src="./onbeforeunload.htm"></iframe>
<iframe src="./onbeforeunload.htm"></iframe>
...

Демо >>

onbeforeunload.htm
<script>
window.onbeforeunload = function(){
    return "Ha-Ha!";
};
window.addEventListener("unload", function(){
}, false);
</script>

И:

Если разместить 10 000 (естественно невидимых (<style>iframe{display:none;}</style>)) <iframe>-ов, то придётся очень долго жать Enter...

Чтобы уходить с таких страничек можно вызвать Developer Tools через Ctrl+Shift+I (или правой кнопкой, Просмотр кода элемента) и отредактировать страничку, удалив там всё.

Или использовать этот букмарклет (перетащите эту сслылку на панель закладок (Ctrl+Shift+B)):

javascript:document.getElementsByTagName("html")[0].innerHTML="";window.open("","_self");window.close();

Работает демо и в IE 8 (правда букмарклет или javascript: в адресной строке там не спасёт).

SEO  →  Google на английском без смены ip

3 ноября 2012

Всё просто. Location нельзя сменить пока вы не находитесь на локальном домене (т.е. .com, а не .ru), но гугл всегда переадресует на .ru. И, язык меняется добавлением после якоря (fragment) #hl=en, хотя чтобы всё стработало ?hl=en.
Короче:

Английский - en - http://google.com/?hl=en

Великобритания - en - http://google.co.uk/?hl=en

Французский - fr - http://google.fr/?hl=fr

Русский - ru - http://google.ru/?hl=ru

Софт  →  Huawei / Mobile Partner - Отображать содержимое окна при перетаскивании

24 апреля 2012

Процитирую одно из описаний проблемы:

Многие сталкивались с неприятным эффектом производимым программным обеспечением (дашбордом) 3G-модемов от Huawei. Эффект в том, что программа отключает показ содержимого окон при перетаскивании. Те, кого это раздражает, лезут в настройки рабочего стола или свойства Моего компьютера, преключают функцию, но со следующим запуском программы косяк возвращается.

То же ПО может называться Mobile Partner, TELE2.Модем, МегаФон Интернет, Билайн Интеренет Дома, Коннект Менеджер.

Вот моё решение, открытый код, значит можно быть уверенным, что нет вирусов:

MobilePartner_fix.ahk

#NoTrayIcon
#Persistent
DetectHiddenWindows, on

Loop
{
  WinWait, ahk_class #32770
  Sleep, 10000  ; wait for full load
  DllCall("SystemParametersInfo", Int,37, Int,1, Int,0, Int,3)
  WinWaitClose
}
  • Установите AutoHotKey. / Или можно сразу скачать MobilePartner_fix.exe
  • Скопируйте MobilePartner_fix.ahk/.exe в shell:startup\ (введите адрес в проводнике или + R). Теперь он будет запускаться при запуске Windows.
  • Или: Второй способ – в папке с программой (правый клик на ярлыке, свойства, чтобы узнать путь, напр. C:\Program Files\Connect Manager\) переименовать ИмяПрограммы.exe в _ИмяПрограммы.exe и положить в папку MobilePartner_fix.exe, переименованный в ИмяПрограммы.exe
    (У меня есть небольшое подвисание при использовании .exe, а не .ahk)

Далее »

Софт  →  Как настроить различную скорость перемещения курсора при использовании мыши и тачпада?

15 апреля 2012

Собственно, есть програмка Mouse Speed Switcher. Но с какой стати мне давать ссылку на программу стоимостью 10.9 евро? Лучше я потрачу минут 10, чтобы найти в гугле как написать 3 строчки на скриптовом языке AutoHotKey...

Встречайте, mouseSpeed.ahk

#z::MouseSwitch(5, 12)  ; Win+Z

MouseSwitch(speed1, speed2) ; min 1, max 20 [1,2,4,6,8, 10, 12,14,16,18,20]
{
  DllCall("SystemParametersInfo", Int,112, UInt,0, UIntP,curSpeed, UInt,0) ; SPI_GETMOUSESPEED
  speed := curSpeed = speed1 ? speed2 : speed1
  DllCall("SystemParametersInfo", Int,113, UInt,0, UInt,speed, UInt,2) ; SPI_SETMOUSESPEED, SPIF_SENDCHANGE=2
}
  1. Для запуска нужно установить версию Autohotkey именно 1.0.48.05 (прямая ссылка на install.exe)!
  2. Поместить скрипт в Автозагрузку (Win+R, shell:startup\ ), можно оттуда сразу запустить
  3. По нажатию  + Z будет переключаться скорость между 5 и 12. Как видно, в первой строке можно отредактировать эти значения. Максимальная скорость – 20, стандартная windows 10 и значения 1 и чётные до 20.
    Горячую клавишу можно назначить и другую (см. здесь, #-Win, !-Alt, ^-Ctrl, +-Shift)

Подписывайтесь на блог.

Для тех, кому интересно как это устроено – можете посмотреть документацию по WinAPI на MSDN. Функция SystemParametersInfo, первый аргумент, действие SPI_SETMOUSESPEED, 0x0071 (113 в десятичной), uiParam с этим действием не нужен, pvParam указывает здесь скорость, fWinIni SPIF_SENDCHANGE, 2 (значение можно найти здесь) обновляет профиль и отправляет сообщение всем окнам.

Домены  →  Почта для Ваших Доменов от Яндекса (краткая инструкция)

12 апреля 2012

  1. Заходим на https://pdd.yandex.ru/, нажимаем "Войти" в правом верхнем углу. Если нет аккуанта/почты на Яндексе - регистрируем.
  2. Вводим в поле адрес домена (без http:// и www) и жмём "Подключить домен". Если "Проверка подключения домена может занять продолжительное время" занимает больше, скажем, минуты – нужно сменить браузер. (В последнем Chrome, к примеру, не работало, попробуйте Internet Explorer, даже в Опере 9 всё ok).
  3. Если в панеле управления доменом у вас нет редактора DNS, или вы не хотите разбираться с этим, или хотите бесплатный редактор+хостинг DNS (хотя есть и другие) – попросите своего регистратора (или через панель) изменить DNS-записи домена на dns1.yandex.ru и dns2.yandex.ru
    Следующие 2 шага тогда пропустить.
  4. Иначе: В редакторе DNS панели уравления регистратора домена: Для поддомена [см. в яндексовом "Шаг 1"] в зоне вашего домена настройте CNAME-запись на mail.yandex.ru. (!-с точкой на конце) (TTL: обычно 28800)
  5. И: Настроить MX-записи (Имя поддомена: @ Тип записи: MX Данные: mx.yandex.ru. Приоритет: 10) (вместо @ иногда пустое поле, или имя домена с точкой на конце)

Также, для удобства:

  • Добавьте CNAME-записи: pop на pop.yandex.ru. и smtp на smtp.yandex.ru. (для почтовых программ и сборщиков почты, +нужно будет поставить галочку POP3 в веб-интерфейсе почтового ящика, об этом ниже)
  • Добавьте CNAME-запись mail на domain.mail.yandex.net. (для доступа к почте по http://mail.ваш.домен/)
  • Добавить TXT-запиь Имя поддомена: @ Тип записи: TXT Данные: v=spf1 redirect=_spf.yandex.ru (для снижения вероятности попадания в спам писем, отправленных с вашего домена)

Теперь подождите как только dns-записи обновятся (около часа, но может до 48 часов). Проверить набрав напр. http://mail.ваш.домен/ в браузере (если вы его настраивали, см. выше).

Далее можно:

  • Добавить почтовый ящик (Они добавили кроме пароля необходимость заполнять имя, фамилию, контрольный вопрос и капчу. Учитывая то, что пароль вы можете сменить из pdd.yandex.ru можете указать любые данные)
  • В настройка домена выбрать адрес по-умолчанию (собирать все письма на несуществующие в этом домене ящики)
  • В настройка домена в настройках почтового ящика добавить алиас (собирать письма с алиас@домен в этот.ящик@домен)
  • Если нужно – перенести почту с другого сервера: на страничке домена, ссылка справа.
  • Войти в почту адрес вида http://mail.yandex.ru/for/имя.домена (или http://mail.ваш.домен/ (см.выше)). (Раньше приходилось выходить из pdd.yandex.ru, теперь вроде поправили)
  • Если нужно – настроить ("Настройка" сверху справа) Сбор почты с других ящиков
  • Если нужно – настроить пересылку почты. Настройка/Правила обработки почты, создать правило, точка "переслать по адресу", Создать правило.
  • Настроить ваши почтовые программы по протоколу POP3 или IMAP. Настройка/Почтовые программы, галочка POP3. А в самой программе указать pop.yandex.ru, smtp.yandex.ru (или pop.ваш.домен если настраивали соотв. CNAME записи), логин@домен, пароль, в "сервер исходящей почты": галочка "проверка подлинности пользователя".
  • Доступ к почте с мобильного: m.ya.ru/mail, и другое.

Софт  →  Как форматировать флешку в NTFS средствами Windows?

10 апреля 2012

  1. Диспетчер устройств (правой кнопкой Мой компьютер, Свойства (или Win+Pause), вкладка Оборудование),
    открыть свойства флешки (раскрыть в списке Дисковые устройства)
  2. Вкладка  Политика: Оптимизировать для выполнения, OK
  3. Теперь в пункте Форматировать (правой кнопкой по флешке) появится опция NTFS.
  4. Вернуть назад Политика: Оптимизировать для быстрого удаления (чтобы можно было вынимать флешку без значка Быстрое удаление, конечно только если на неё в этот момент не производится запись)
  5. В свойствах флешки в Моем компьютере (не в Диспетчере устройств) можно убрать галочку "Разрешить индексирование содержимого для быстрого поиска" (для быстроты работы)

Зачем?

Плюсы: поддержка файлов больше 4GB, бОльшая надёжность: за счёт поддержки транзакций при ошибке записи не пострадают все файлы
Минусы: уменьшается скорость записи файлов (порядка 20%)

Стартапы  →  Google.com/codesearch Всё (или нет?)

2 марта 2012

http://www.google.com/codesearch с 15 января больше не работает.

«Google Code Search является свободной бета версией продукта...» Я просто офигеваю от этого слова "свободной версией". Как, наверно приятно думать, что ты делаешь что-то великое, радаёшь людям блага совершенно бесплатно. А по сути – просто снимаешь с себя всякую ответственность за работоспособность, поддержание этих "свободных версий".

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

(Конечно, Гуглу не интересна такая модель монетизации. Гораздо важнее иметь возможность в любой момент закрыть непрофильный стартап (как купленные Jaiku,  Jotspot, Dodgeball), чтобы перетащить купленных программистов в собственные продукты (напр. Google Buzz -> Google+)).

Я хотел отметить другое: делайте платные API изначально. Если вы настроены сделать API одним из главных источников дохода, то должны дать понять партнёрам, что не закроетесь в один день. И показать реальные тарифы на API, т.к. неизвестность страшит куда больше, чем возможное повышение цен на API. Как пример – Яндекс.Такси, бесплатная программка для мобильных, которая устанавливается на смартфоны пассажиров и водителей, позволяя последним напрямую получать ближайшие заказы. Как писал Секрет Фирмы, конкурент заработал $1M за 9 месяцев при комиссии 5-15руб. с заказа. При этом Яндекс предоставляет сервис бесплатно (то ли по программе лояльности, то ли временно), хотя требует от водителей наличие офиса в Москве, статус ИП или ООО.
___________

Для тех, кто хочет сделать Google Code Search: How Google Code Search Worked

И всё-таки он работает: http://code.google.com/codesearch

^^^^^^^^^^^^^^^^^^^^

Страница 1 из 1312345678910111213»