Pull to refresh
11
-0.2
Олег @nesmit

User

Send message

Оптимизация Ubuntu (и прочих Linux-ов) под SSD

Reading time4 min
Views205K
Доброго времени суток всем читающим. В данной мини-статье мне хотелось бы собрать и рассмотреть основные моменты оптимизации работы (и, конечно, продления жизненного цикла ) твердотельных накопителей. Практически всю информацию можно легко найти в сети, но тут я попытаюсь упомянуть пару подводных камней.
Читать дальше →
Total votes 128: ↑118 and ↓10+108
Comments109

Генерим PDF бочками

Reading time6 min
Views12K

Предыстория


На хабре неоднократно упоминались различные инструменты и способы создания скриншотов WEB страниц.

Хочу поделиться собственным «велосипедом» для создания PDF на Python и QT, дополненным и улучшенным для централизованного использования несколькими проектами.

Изначально генерация запускалась из PHP скрипта, примерно так:

<?php
// локальный файл
exec('xvfb-run python2 html2pdf.py file:///tmp/in.html /tmp/out.pdf');
// или URL
exec('xvfb-run python2 html2pdf.py http://habrahabr.ru /tmp/habr.pdf');
?>

этого было достаточно и все было хорошо…
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments18

Почему в WiMax и LTE используют OFDM

Reading time18 min
Views121K


Аббревиатура OFDM расшифровывается как Orthogonal frequency-division multiplexing. В русскоязычной литературе встречается несколько различных переводов, несущих, в принципе, один смысл: OFDM — это механизм мультиплексирования (уплотнения) посредством ортогональных поднесущих.



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





Иллюстраций: 18, символов: 27 399, строк кода: 99.



Читать дальше →
Total votes 273: ↑269 and ↓4+265
Comments61

Читаем QR код

Reading time5 min
Views1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Total votes 623: ↑614 and ↓9+605
Comments109

SSH-туннели — пробрасываем порт

Reading time2 min
Views431K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →
Total votes 93: ↑68 and ↓25+43
Comments80

Приём и обработка SMS-сообщений на Linux-машине

Reading time5 min
Views42K
В одном из наших свежих проектов команде разработчиков была поставлена задача собрать максимально реальные контактные данные о пользователях нашего сайта. Жаркое обсуждение правильных и неправильных форм регистрации, одно- и двушаговые, дополнение информации по мере пользования сайтом… Казалось поток идей не остановится. Однако ни одна из них не гарантировала, что в результате мы не получим кучу никчемных данных. Валидировать? Можно, но разве все предусмотришь? Активация учетной записи через почтовый ящик для его валидации? Но куча сервисов типа 10 Minute Mail сводят на нет эффект. К тому же, специфика проекта не позволяла слишком растягивать процесс регистрации. Решено было, что пользователь должен зайти, сделать своё дело, а потом уже активировать или нет свою учетную запись. В конце концов прозвучала фраза «А давайте активировать по SMS!». Поиск провайдеров, изучение прайс-листов и отказ от идеи взвалить обработку SMS на стороннюю контору… Стало понятно, что принимать и обрабатывать их придется самим.
Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments38

Система автоматической генерации настроек DNS-сервера Bind

Reading time5 min
Views7.7K
По службе приходится часто и много создавать зоны ДНС, добавлять или изменять в них записи. Вручную это довольно кропотливый и сложный процесс: ведь надо держать в голове синтаксис и не ошибаться в мелочах. Для таких вещей самое оно заставить работу выполнять компьютер.

IAdmin — это система создана для автоматической генерации конфигов Bind на хостинговом сервере и представляет собой базу iadmin в БД MySQL и скрипт, который на основании данных из базы генерирует конфигурационные файлы. Для настройки Bind используются таблицы dns_domains, dns_records, dns_subgmail. Основной скрипт, написанный на перле читает данные из БД iadmin и создаёт файлы конфигурации. Файлы зоны генерируются в дирректории /var/cache/bind/. Там же хранятся и прочие файлы зон, которые не обслуживаются системой iadmin. Этой же системой создаётся конфиг для secondary-DNS, который туда и переносится. До тех пор, пока скрипт не отработает, все изменения из БД НЕ материализуются.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments29

Экстремальное восстановление данных с деградировавшего 5го рейда

Reading time8 min
Views13K

Написано на реальных событиях.


Любое повторение действий и необдуманные решения могут привести к полной утрате данных. Не для HowTo-шников, данный материал лишь для воссоздания картины о представлении данных на дисковых носителях.

Итак, приступим. Вводные данные:
  • 7 дисков, 2 primary-раздела на каждом;
  • 1й раздел 7и кратное зеркалирование (RAID1);
  • 2й раздел RAID5, под которым крутится LVM.

Два диска отказывают в одночасье из-за скачка электричества и каких-то еще проблем с железом. Попытки ассемблировать диски обратно не увенчались успехом, т.к. система проработала в автопилоте на умершем рейде часа два, в добавок ко всему диски то оживали то умирали заново, ядро не отрабатывало какой диск на каком месте в данный момент, т.е. что на них писалось и как это происходилос — можно только догадываться.
В общем, имеем, полностью погибший рейд. и mdadm тут бессилен.
Читать дальше →
Total votes 68: ↑66 and ↓2+64
Comments34

Командная строка на службе фотографа-линуксоида

Reading time4 min
Views4.6K
Здравствуйте, хабралюди!

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

Для Линукса, которым я пользуюсь практически 100% времени, есть много различных графических инструментов для работы с фото. Но иногда бывает, что нужной функции в используемой программе — нету.
Или она есть, но ты не смог её найти. Что же делать? Конечно же, использовать bash.

Читать дальше →
Total votes 99: ↑90 and ↓9+81
Comments54

Используем GPS в Ubuntu

Reading time3 min
Views24K
Многим сисадминам нравится телефон нокиа Е61. Для своего времени, напичканый разными форматами связи, помимо стандартного GSM/UMTS, ИК, блютус и WiFi, (push-to-talk). QWERTY-клавиатура (полная). Большой яркий экран. Качественная сборка и металлическая спинка. Было в телефончике и несколько минусов, некоторые считают их несущественными. Итак: нет камеры, большой размер, нет FM, и нет GPS. Кроме размера, все остальные проблемы решаемы. Для GPS я приобрел nokia LD-3W.
Дальше
Total votes 26: ↑25 and ↓1+24
Comments29

Кодирование видео для веб-проектов

Reading time7 min
Views28K
image
Доброго времени суток.
Многим web-программистам рано или поздно нужно работать с видео. Такая задача возникла и у меня.
В Интернете есть много статей на форумах и блогах, как на русскоязычных, так и на зарубежных сайтах. Но, проделавши, так же как и предлагалось в инструкциях — результата ожидаемого не дало. Что и послужило поводом для этой статьи. Думаю, она поможет таким же как и я многим начинающим.
Читать дальше →
Total votes 73: ↑65 and ↓8+57
Comments57

Парсер RSS на bash для Лостфильма: щадящий режим для RSS сервера, проверка скачанного

Reading time3 min
Views5.9K
Доброго времени суток!
Когда-то, благодаря этому топику, был написан неплохой парсер для Лостфильма. Сейчас я хотел бы поделиться собственной доработкой скрипта, связанной с изменением формата ссылок на Лостфильме, добавлением проверки на обновление ленты и проверки скачанного.

Прежде всего, что-бы снизить нагрузку на RSS сервер, при запросе ленты с помощью wget нужно использовать «If-Modified-Since:». Тогда, при отсутствии обновлений, мы не будем качать и обрабатывать всю ленту. Такой подход снизит нагрузку на сервер (и немного на наш компьютер).
Используем следующий вариант команды:

# Подготовка заголовка If-Modified-Since
lastmod="$( grep -m 1 Last-Modified response.out )"

header="If-Modified-Since:"${lastmod#*:}

Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments48

Автоматические хосты для веб-разработки (FreeBSD)

Reading time2 min
Views6K


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

Как вариант, можно скриптами обновлять конфиги apache и файл hosts.

Другое решение, настройка собственного DNS сервера с зоной верхнего уровня.
Это мы и сейчас и проделаем.

Итак, создадим зону ".dev" (используя демон named и apache под FreeBSD)
Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments21

Лайтпак 5.5 опубликован

Reading time1 min
Views8.2K
Читатели помнят, что ещё в декабре прошлого года, после публикации пользователя brunql мы с ним и timsat решили всерьёз взяться за open-hardware проект, который назвали Лайтпак. В феврале мы даже презентовали вам ревизию 4.3 после которой к проекту присоединилось много светлых голов.

А сегодня я готов показать вам чего мы добились к версии 5.5, ставшей первым коммерческим вариантам Лайтпака, который можно купить за деньги:


Читать дальше →
Total votes 301: ↑296 and ↓5+291
Comments130

NetworkX для удобной работы с сетевыми структурами

Reading time5 min
Views98K

Рассматривается библиотека NetworkX предназначенная для создания, манипуляции и изучения структуры, динамики и функционирования сложных сетевых структур.
Рассмотрены основы использования библиотеки в качестве инструмента обучения, прикладного программирования или научных исследований.
Основой для описания библиотеки служат официальные материалы с сайта.
Рассмотрена версия библиотеки 1.5.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments35

Аудит. «Черный ящик»

Reading time6 min
Views13K
В данной статье я предложу вам технику аудита «черного ящика», которую можно освоить не обладая особыми знаниями и применить ее относительно своих ресурсов.

Естественно, статью можно перевести и в технику взлома ресурсов. Но чтобы знать, как защищать — надо знать, как взламывать. Ответственность за приобретенные знания вы берете на себя ;)

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

В статье отображен аудит базового уровня, сохраняем низкий порог для чтения и понимания.

Читать дальше →
Total votes 105: ↑92 and ↓13+79
Comments30

Qt. Создание виджета-консоли для графического приложения

Reading time5 min
Views24K
Привет добрым людям.
При прочтении этого заголовка читатели могут подумать: зачем смешивать консольные и графические приложения – консоль в GUI-приложении не нужна. А вот и нет, смею заметить. Иногда совмещение функциональной консоли с полным набором команд и графического отображения для удобной навигации и просмотра данных может дать в итоге мощный инструмент.
И у меня есть пример.
Начав использовать быстрое key-value хранилище данных Redis для своих проектов, я обнаружил, что на данный момент нет ни одного вменяемого desktop-приложения для просмотра, редактирования и администрирования баз данных Redis. Есть только консоль от разработчиков, веб-интерфейс Redis Admin UI, который для своей работы требует .NET (что само по себе уже отпугивает) и пару Ruby-приложений, сделанных, похоже, на скорую руку, на коленке.
Хотелось бы иметь что-то удобное и быстрое, как сама база данных Redis. Поэтому я решил восполнить этот пробел и написать такой инструмент. Так как нужен быстрый – то C++, так как нужен кроссплатформенный – то Qt.

RedisConsole

Из-за того, что все возможности базы данных не реализуешь, да они и могут появляться каждый день новые, нужно было добавить в графический интерфейс консоль. На основе какого виджета в Qt ее имитировать, и как, и хочу вам рассказать.

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments21

Подбор паролей к WPA/WPA2 с использованием видеокарты

Reading time6 min
Views202K
Привет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для игр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Читать дальше →
Total votes 166: ↑149 and ↓17+132
Comments61

Доработка китайской акустики (SVEN SPS-678)

Reading time3 min
Views189K
Привет, %username%. Сегодня я расскажу как немного апгрейдить твою компьютерную акустику. Сразу оговорюсь, что данное руководство не преследует цель сделать из твоей акустики B&W, а лишь в разумных пределах улучшить звучание при минимальных затратах времени и денег.

Итак, имеем такие вот колонки:


Читать дальше →
Total votes 126: ↑111 and ↓15+96
Comments104

Заставим клавишу Switch Display на ноутбуке работать по-своему!

Reading time3 min
Views11K
Вам нравится как работает gnome-display-properties (это тот, который «Система -> Параметры -> Мониторы») и клавиша переключения монитора на ноутбуке? Да? Тогда можете проходить мимо, топик не для вас :)

Самое большое неудобство этого аплета — невозможность вручную настроить порядок переключения режимов: current configuration -> mirror -> extended desktop -> laptop only -> external only -> и снова current configuration. Не слишком удобно, не правда ли?.. Вот эту задачу мы и будем решать.

Задача


— заставить клавишу Switch Display переключать всего два режима:
1) экран ноутбука включен, внешний монитор отключен
2) экран ноутбука отключен, внешний монитор включен
— сделать так, чтобы ноутбук не уходил в режим ожидания по захлопыванию крышки, если включен внешний экран
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments18

Information

Rating
Does not participate
Location
Домодедово, Москва и Московская обл., Россия
Date of birth
Registered
Activity