Читать дальше →
Миронов Михаил @MIC
User
Настройка PPPoE с шейпингом трафика для небольшой сети
19 min
42KОднажды возникла задача настроить раздачу интернета на пару десятков компьютеров (офисные и домашние). Коробочные решения оказались либо платными, либо достаточно сложно настраиваемыми, поэтому было принято решение использовать собственное на базе Debian Linux. Опытом его поднятия я хочу поделиться с вами в этом посте, но приведенные здесь версии могли немного устареть с момента написания мануала «для себя», так что нужно проявить некоторую внимательность. Также, нужно учитывать, что приведенное решение далеко от идеального и профессионального. Оно поможет скорее тем, кому нужно быстро поднять у себя сервер, раздающий интернет. В конце у нас будет раздача интернета через PPPoE с назначением внутренних IP клиентам, шейпинг трафика, DNS сервер и простой мониторинг текущих сессий из консоли.
+32
Про сжатие видео — Введение
7 min
85KИдут дни, требования к качеству видео постоянно растут. При этом ширина каналов и емкость носителей не могла бы поспевать за этим ростом, если бы не совершенствовались алгоритмы сжатия видео.
Далее пойдет речь именно о некоторых базовых понятиях сжатия видео. Некоторые из них несколько устарели или описаны слишком просто, но при этом дают минимальное представление о том, как все работает.

Поиск векторов движения для компенсации движения (-: Об этом далее...
Далее пойдет речь именно о некоторых базовых понятиях сжатия видео. Некоторые из них несколько устарели или описаны слишком просто, но при этом дают минимальное представление о том, как все работает.

Поиск векторов движения для компенсации движения (-: Об этом далее...
+249
Перехват системных вызовов с помощью ptrace
4 min
36Kptrace (от process trace) — системный вызов в некоторых unix-подобных системах (в том числе в Linux, FreeBSD, Max OS X), который позволяет трассировать или отлаживать выбранный процесс. Можно сказать, что ptrace дает полный контроль над процессом: можно изменять ход выполнения программы, смотреть и изменять значения в памяти или состояния регистров. Стоит оговориться, что никаких дополнительных прав при этом мы не получаем — возможные действия ограничены правами запущенного процесса. К тому же, при трассировке программы с setuid битом, этот самый бит не работает — привилегии не повышаются.
В статье будет показано, как перехватывать системные вызовы на примере ОС Linux.
В статье будет показано, как перехватывать системные вызовы на примере ОС Linux.
+51
Видео с HighLoad++: Петр Зайцев — Диагностика и исправление проблем производительности MySQL
1 min
9.4KДобрый день,
Вот и последний обещанный видеодоклад с HighLoad:
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html
Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html
Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html
Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html
Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html
Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html
Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html
Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html
Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html
Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html
Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.
Хорошего вам дня!
UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.
Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)
Спасибо за терпение и фидбек!
Вот и последний обещанный видеодоклад с HighLoad:
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html
Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html
Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html
Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html
Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html
Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html
Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html
Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html
Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html
Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html
Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.
Хорошего вам дня!
UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.
Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)
Спасибо за терпение и фидбек!
+21
Inotify или автоматизация рутинных операций с помощью incron
3 min
46KДо сих пор на хабре еще никто не упоминал о такой удобной подсистеме ядра linux, как inotify и использовании ее в автоматизации работы системного администратора. Хотелось бы восполнить этот пробел.
Inotify — это подсистема ядра Linux, которая позволяет получать уведомления об изменениях в файловой системе. Т.е. простыми словами — эта штука дает нам информацию о создании или изменении любого файла или директории в используемой файловой системе.
Inotify появилась в ядре аж в версии 2.6.13 и прошла проверку временем. Для ее использования написано несколько утилит, работу с одной из которых мы и рассмотрим.
Что такое inotify
Inotify — это подсистема ядра Linux, которая позволяет получать уведомления об изменениях в файловой системе. Т.е. простыми словами — эта штука дает нам информацию о создании или изменении любого файла или директории в используемой файловой системе.
Inotify появилась в ядре аж в версии 2.6.13 и прошла проверку временем. Для ее использования написано несколько утилит, работу с одной из которых мы и рассмотрим.
+64
Synapse неплохая альтернатива для Alt+F2
1 min
20KSynapse — это весьма приятный лаунчер, с довольно интересными плюшками.
+27
Настройка и оптимизация MySQL сервера
9 min
317KВ этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
+162
Получение и вывод GPS координат на Arduino
3 min
85KОднажды у меня возник интерес к GPS, а еще чуть раньше — к платформе Arduino. Поэтому со Sparkfun были заказаны, с разницей в пару дней, Arduino Duemilanove, GPS Shield и GPS приемник EM-406A.
Заказ пришел и частично лежал на полке, а недавно дошли руки до этого комплекта…

Заказ пришел и частично лежал на полке, а недавно дошли руки до этого комплекта…
Собранный GPS Shield, подключенный к Arduino

+67
База GeoIP – страны и города
1 min
75KПри разработке одного проекта встала задача – определить по IP-адресу посетителя его страну и город, на русском языке. Поиск готового решения оказался безуспешным – русскоязычные базы стран можно найти (например, wipmania.com), но баз городов нет. Помощь пришла из-за границы, в лице англоязычного maxmind.com. База была приведена к нормальному состоянию (MySQL) и частично переведена на русский язык с помощью нескольких справочников (~6,000 названий, с учетом городов-тезок ~15,500). Результат этой работы доступен для свободного скачивания.
+82
Конкурс по труднорешаемым задачам для программистов
4 min
11KЗдравствуй, хабрачитатель.
С недавних пор мне нравится проводить конкурсы для программистов-математиков, но эти конкурсы несколько отличаются от олимпиад по программированию, хотя бы тем, что я предлагаю задачи, не имеющие эффективного алгоритма решения. Кроме того, предлагаются задачи, которые либо вообще никто раньше не решал, либо решали очень мало, но серьёзных успехов не добились. Последняя особенность этих задач в том, что они так или иначе связаны с перечислительной комбинаторикой, той областью математики, которая в России была похоронена вместе с другими полезными областями науки «сами знаете когда». Но это менее важно.
С недавних пор мне нравится проводить конкурсы для программистов-математиков, но эти конкурсы несколько отличаются от олимпиад по программированию, хотя бы тем, что я предлагаю задачи, не имеющие эффективного алгоритма решения. Кроме того, предлагаются задачи, которые либо вообще никто раньше не решал, либо решали очень мало, но серьёзных успехов не добились. Последняя особенность этих задач в том, что они так или иначе связаны с перечислительной комбинаторикой, той областью математики, которая в России была похоронена вместе с другими полезными областями науки «сами знаете когда». Но это менее важно.
+54
Олимпиадное хобби. Разминка
3 min
5.5K
Я решил, что неплохо было бы поделиться с Вами алгоритмами, размышления, результатами, а также получить качественную критику моих путей решения задач.
Будем брать задачу, разбирать ее по частям, анализировать, выдумывать различные пути решения, выбирать лучший, а потом нести на суд «великих судей». Для многих, по моему мнению, такой час разгрузки будет очень полезным, а кому-то просто будет интересно посоревноваться и придумать свой алгоритм.
Задачи я буду брать с сайта http://uva.onlinejudge.org/, где располагается достаточно большая коллекция задач на любой вкус, и там же можно проверить свое решение. Выбирать буду случайным образом и всегда доводить начатое до финального решения, которое ознаменуется оценкой «Accepted» (Принято). Для решения этих задач нам потребуется знание одного из языков программирования: c, c++, java, pascal, а также терпение, логика и базовое знание английского языка, т.к. условия задач мы получаем на английском языке.
Итак, начнем мы с простой задачки из набора «Для новичков» для разминки, чтобы проверить свои способности.
+39
Kernel Pool Overflow: от теории к практике
10 min
42KЯдро Windows всегда было лакомым кусочком для хакера, особенно при наличии законченных методик его эксплуатирования, приводящих к повышению прав. Учитывая тот факт, что за последние несколько лет количество уязвимостей, связанных с переполнением динамической памяти ядра, резко возросло, я активно заинтересовался данным направлением и, к собственному удивлению, в конечном итоге накопал столько материала, что его хватит не на один 0day-баг.


+154
Основы Linux от основателя Gentoo. Часть 2 (5/5): Модули ядра
8 min
56KTranslation
В заключительном отрывке второй части описаны основы управление модулями ядра Linux. Этот минимум неплохо знать всякому пользователю, однако, не стоит надеяться обнаружить в этом руководстве для начинающих информацию по сборке и конфигурированию модулей ядра.
Навигация по основам Linux от основателя Gentoo:
Часть I
- BASH: основы навигации (вступление)
- Управление файлами и директориями
- Ссылки, а также удаление файлов и директорий
- Glob-подстановки (итоги и ссылки)
Часть II
- Регулярные выражения (вступление)
- Назначения папок, поиск файлов
- Управление процессами
- Обработка текста и перенаправления
- Модули ядра (итоги и ссылки)
Часть III: 1, 2, 3, 4
+85
Подбор 14 символьного сложного пароля за 5 секунд
2 min
232KTranslation

Достаточно давно и долго говорят о том что с использованием высоких скоростей GPU подбор паролей существенно ускорится. Но есть технологии которые позволяют перебор сделать еще
быстрее. Швейцарская компания, специализирующаяся в области безопасности Objectif Sécurité воспользовалась для своей технологии SSD дисками с радужными таблицами.
+138
Чуть больше о загрузке самодельных ОС — пишем bootloader
9 min
14KНе так давно решил чуть получше изучить архитектуру IA-32. А что лучше всего для запоминания? Конечно же практика. Но программируя в ОС мы врядли получим самый низкий уровень доступ к железу без помех. Поэтому для этих целей будем писать собственное подобие операционной системы. То есть проще говоря будем выполнять свой код, сразу после загрузки BIOS'а.
Первой проблемой с которой столкнется желающий программировать на низком уровне — как же загрузить свой код?
Первой проблемой с которой столкнется желающий программировать на низком уровне — как же загрузить свой код?
+109
Перевод часов на зимнее время: экономика, здоровье или ...?
6 min
51K
Как это было
Многие публикации неправильно приписывают изобретение летнего времени известному английскому строителю и любителю жизни на свежем воздухе Уильяму Уиллету.
Он самостоятельно задумался над возможностью введения «летнего времени» в 1905 году во время поездки перед завтраком, увидев спящий Лондон при уже поднявшемся солнце, заметив, сколько жителей города просыпают значительную часть летнего дня. Заядлый игрок в гольф, он также не любил завершать игру в сумерках.
+169
Тюнинг linux для игр
5 min
14K
+57
Linux на службе у провайдера
4 min
12K
Просмотрев большинство тематических постов на хабре был безмерно удивлён тому факту, что крайне скудно освещена тема использования ОС Unix/Linux на службе интернет провайдеров (Internet service provider). Данной статьёй я частично попытаюсь восполнить данный пробел.
+107
Анонимное сканирование портов при помощи hping3
4 min
39KДля реализации понадобится уверенные знания работы TCP/IP и желание понять. В результате мы получим возможность сканировать удаленную машину на открытые порты от чужого адреса по следующией схеме (картинка из мануала по nmap):


+75
Information
- Rating
- Does not participate
- Location
- Таиланд
- Registered
- Activity