Как стать автором
Поиск
Написать публикацию
Обновить
khim @khimread⁠-⁠only

Пользователь

Отправить сообщение

DNS Amplification (DNS усиление)

Время на прочтение6 мин
Количество просмотров95K
Не так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.
image

Начало



Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:

10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
Читать дальше →

Улучшение для дерева коментариев хабра

Время на прочтение2 мин
Количество просмотров772
Некоторые статьи вызывают оживлённые дискусии с сотнями коментариев, ветки которых занимают по два экрана на 1280х1024.

Например, вот на этом снимке экрана легко запутаться в уровнях коментариев.

Мне хотелось чтобы дерево коментариев было оснащено такими вертикальными линиями с минусиками к которым мы привыкли во многих современных редакторах. И я это сделал на выходных.

Сравните со снимком экрана после.







Далее: описание принципа работы, инструкция по установке

Про правильную посадку в кресле

Время на прочтение5 мин
Количество просмотров76K
Навеяно постами про подлокотники. Это сборник разных советов, которые я потихонечку собирал в записную книжку, когда впервые столкнулся с проблемами, которые может вызвать неправильная посадка в компьютерном/водительском кресле и дополнял собственным опытом и знаниями.

Что есть правильная посадка в кресле?

Это такое положение, которое решает две задачи: обеспечение максимального удобства для работы и обеспечение физиологически удобной позы, препятствующей возникновению боли в спине.

Пара слов о физиологии: главная задача вашего организма — это обеспечение подвижности и работоспособности «здесь и сейчас». Почти всегда — с жертвами в будущем. Что же происходит, когда мы сидим в кресле? Современный офисный человек физически плохо развит (это правда), поэтому долгая напряженная поза (голова вытянута вперед, глаза вглядываются в монитор, спина скруглена и перекошена вбок, потому что одна рука лежит безвольно, а вторая активно шевелит мышкой) приводит к тому, что его спинные мышцы не могут удерживать правильное положение позвоночника больше чем полтора-два часа — они просто расслабляются и отпускают связочно-суставный аппарат. Чтобы не произошло травмы — организм включает экстренный режим сохранения подвижности и перераспределяет вертикальную нагрузку так, чтобы компенсировать ее изгибом самого позвоночника и натяжение связок и мелких мышц.

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

Решение — правильная поза. Как ее достичь? Причем совершенно штатными средствами, без адских подлокотников или кресел за полторы тысячи евро?

Читать дальше →

Расширение Firefox добавляет торренты на Amazon.com

Время на прочтение1 мин
Количество просмотров1.8K
Новое расширение Firefox под названием Pirates of the Amazon («Пираты Амазонки») превращает крупнейший в мире интернет-магазин в полноценный каталог пиратского контента. Идея простая: «Пираты Амазонки» просто добавляют на каждую страницу каталога Amazon.com ссылку на торрент для бесплатного скачивания этого файла.

Таким образом, мечта любого любителя халявы доведена до абсолюта: вы ходите по магазину, смотрите на ценники и выбираете подходящий фильм (программу, музыкальный альбом, игру), а когда выбор сделан — просто берёте товар бесплатно, нажав на баннер “Download 4 free”.

Плагин работает по типу Greasemonkey, модифицируя код страницы в браузере. Ссылки на торренты получают с популярного трекера The Pirate Bay.
Читать дальше →

Firefox Addon: Постраничная навигация в стиле Google Reader для любого сайта.

Время на прочтение2 мин
Количество просмотров1.6K
Все наверное знают как сделана постраничная навигация в Google Reader. Изначально подгружается примерно столько непрочитанных новостей, сколько влазит на экран, а далее, по ходу того как страница скроллится вниз, асинхронно подгружаются остальные новости.

Чем хороша такая система? Пожалуй тем, что она прозрачна и незаметна: пользователь перемещается по страницам ничего для этого не делая, просто читая новости в своём rss ридере. Есть, конечно у такого подхода и недостатки, но заметка не об этом.

Итак, сегодня вечером я совершенно случайно наткнулся а плагин к firefox, который позволяет сделать аналогичную постраничную навигацию практически для любого сайта, более того, он изначально содержит настройки для множества известных сайтов: Digg, Google, Wikipedia и т.д.

Читать дальше →

Как делать качественные печатные платы в домашних условиях.

Время на прочтение2 мин
Количество просмотров400K
Любой электронный девайс требует соединения воедино кучи деталей. Конечно, можно спаять девайс на монтажной плате, но при этом велик риск наделать кучу ошибок, да и сам девайс будет выглядеть весьма стремно. Торчащие во все стороны провода оценят только любители трешдизайна. Поэтому, будем делать печатную плату!

А чтобы тебе было проще, я сделал видео урок на тему изготовления печатных плат методом Лазерного Утюга ака ЛУТ.

Полный цикл, от подготовки платы с куска текстолита, до сверления и лужения.
Читать дальше →

Настраиваем трекбол Trackman Marble

Время на прочтение2 мин
Количество просмотров6.7K
Не так давно я преобрел сего чудесного зверя:



В отличии от домашнего зверька (Cordless TrackMan Optical) он не обладает колесиком прокрутки и имеет четыре кнопки. Две основных и две вспомогательных на которые по умолчанию ничего не вешается. Но понятное дело, что без привычной функции прокрутки как-то не удобно. Первой попыткой было завесить на дополнительные кнопки прокрутку. Вписываем в секцию устройства (приведено для драйвера evdev):

Option "WHEELRelativeAxisButtons" "5 4"


Работать так оно работает, но для прокручивания надо постоянно нажимать кнопку, а это не удобно. Опять же стандартный драйвер evdev не поддерживает эмуляцию третьей кнопки. А в X-Window она позволяет вставлять из буфера.
Поддержка эмуляции есть только в драйвере mouse. Кроме этого при чтении документации выяснилось, что драйвер поддерживает хитрую эмуляцию колесика, очень удобную для трекбола (хитрость заключается в том что после зажатия кнопки в качестве колесика используется шарик, для мыши это будет равносильно перемещению). В результате я преназначил клавиши следующим образом:'
Section "InputDevice"

Identifier "Logitech TrackMan Optical"
Driver "mouse"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "Auto"
Option "Emulate3Buttons" "true"
Option "Emulate3Timeout" "50"
Option "Buttons" "9"
Option "EmulateWheel" "true"
Option "XAxisMapping" "4 5"
Option "EmulateWheelButton" "6"
Option "ButtonMapping" "1 9 3 6 2 7 8 5 4"

EndSection


В результате дополнительные кнопки работают следующим образом:

Левая дополнительная кнопка работает как включение «колесика».
Правая дополнительная кнопка работает как средняя кнопка.
Дополнительно если нажать вместе основные левую и правую кнопку, они сработают как третья.

Как результат имеем колесико без колесика :)

Раздельная скорость мышки и тачпада в Linux.

Время на прочтение2 мин
Количество просмотров5.7K
Здраствуйте, я являюсь щасливым пользователем ноутбука [попросили не рекламировать марку]. Вообще, чудесная машина, и одна из наиболее линуксо-совместимых. В Америке их продают с предустановленой убунтой, так что абсолютно никаких проблем с железом нет. Работает решительно всё.

Но возникла у меня малюсенкая неприятность. Основное время я пользуюсь мышкой, подключенной к usb, а тачпад использую только при отсутствии возможности присоединить грызуна. И будучи немножко геймерско-понтовой, моя мышка обладает разрешением 1600dpi. Иными словами: она сверхчуствительна.
Конечно, особой это проблемы не составляет, поскольку решается уменьшением чуствительности указателя мыши в настройках операционной системы. Но, вот после этого и начинаются неприятности, поскольку тачпадом с такими настройками пользоваться становится почти невозможно (приходится раз пять пробежать по нему пальцем, чтобы перетянуть курсор из одного угла экрана в другой.)
Собственно, передо мной возникла задача — разделить настройки чуствительности для внешней мыши и тачпада.

как?

Как однажды Emacs из Octave в Latex формулы таскал

Время на прочтение3 мин
Количество просмотров2.4K
Довольно часто приходится для университета проводить различные несложные расчеты лабораторных, расчетных и, в этом семестре, дипломной работы бакалавра. По каждой из них необходимо составить отчет, в котором должны быть приведены все расчеты как в символьном виде, так и в численной форме. Иногда доводилось по три раза перенабирать отчет заново, когда преподаватель обнаруживал ошибку за ошибкой в самом начале.

Отчет в двадцать страниц, из которых пятнадцать — расчетов. Никакой разумной деятельности, только тупой и кропотливый набор формул пальчиками.

Когда я начал писать бакалаврскую работу, стало ясно, что вбивать все эти десятки/сотни формул в отчет раз по десять каждую нет никакого желания, зато есть желание побольше узнать о возможностях Emacs и Emacs Lisp.Так само собой решилось, что надо этот самый набор формул спрограммировать.
Читать дальше →

Яндекс.Интернет, как верстали макет

Время на прочтение1 мин
Количество просмотров2.1K
Заглянув в код страницы internet.yandex.ru, увидел интересную штуку:
< — NOTE: Не подключать в production -->

Сам яваскрипт в файле оказался следующим
Читать дальше →

Совместная оплата или «скинемся и накопим».

Время на прочтение2 мин
Количество просмотров4.3K

Задумка


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

Однако идея с переводами довольно узка — вряд ли на каждый день.

Тогда мысль пошла дальше.
Читать дальше →

Поиск без замены, или массивы без массивов

Время на прочтение1 мин
Количество просмотров959
Примечание: ниже находится перевод заметки «Search and Don't Replace». В ней автор размышляет о методах преобразования строки запроса в массив на JavaScript при минимальных затратах процессорного времени. Мои комментарии далее курсивом.

Немного ранее сегодня мой друг, Marc Grabanski, подкинул мне вопрос: как наиболее оптимальным образом на JavaScript преобразовать строку запроса вида foo=1&foo=2&foo=3&blah=a&blah=b во что-то вроде foo=1,2,3&blah=a,b? У него уже было на тот момент собственное решение, и ему было любопытно, нельзя ли его как-либо улучшить.

Я подумал немного и предложил следующее решение:

function compress(data){
    var q = {}, ret = "";
    data.replace(/([^=&]+)=([^&]*)/g,     function(m, key, value){
        q[key] = (q[key] ? q[key] + "," : "") + value;
    });
    for ( var key in q )
        ret = (ret ? ret + "&" : "") + key + "=" + q[key];
    return ret;
}


читать дальше на webo.in →

Всё (или почти всё) о пробеле

Время на прочтение13 мин
Количество просмотров141K
Как следует из заголовка, речь в статье пойдёт о неотъемлемой части любого русскоязычного (и не только) текста — о пробеле. Мы затронем историю пробела, виды пробелов, вопросы употребления пробела в веб-типографике.

Вообще говоря, пробел — это любое пустое место в рукописном, печатном или отображаемом на любом другом носителе тексте. Так что пробелы бывают разные:
  • спусковые (большие вертикальные пропуски в первой полосе издания) и концевые пробелы полосы,
  • абзацные отступы и концевые пробелы абзаца,
  • межстрочные пробелы (между строками текста),
  • межсловные пробелы (между словами в одной строке),
  • межбуквенные пробелы (между буквами в слове).
Далее речь пойдёт о межсловных пробелах, разделяющих слова, и функционально принадлежащих к знакам препинания.
Читать дальше →

Чёрточки: только ли тире, минус и дефис?

Время на прочтение4 мин
Количество просмотров183K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →

Поворот объектов

Время на прочтение1 мин
Количество просмотров3K
Друзья, подскажите, можно ли средствами css/js вращать объекты (не важно — картинки, блоки) на произвольный угол?
Может есть какие-то библиотеки?
Спасибо.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность