Обновить
33
0.5
ionicman@ionicman

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

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

RSA, а так ли все просто?

Время на прочтение5 мин
Охват и читатели37K

Прелюдия


Доброго времени суток, уважаемые читатели.
Скорее всего, большинству из вас известно, что из себя представляет асимметричный алгоритм шифрования RSA. В самом деле, этому вопросу по всему рунету и на этом ресурсе в частности посвящено столько статей, что сказать о нем что то новое практически невозможно.
Ну что там, ей богу, можно еще придумать и так все давным-давно понятно. Рецепт приготовления прост:
Два простых числа P и Q.
Перемножить до получения числа N.
Выбрать произвольное E.
Найти D=E-1(mod(P-1)(Q-1)).
Для шифрования сообщение M возводим в степень E по модулю N. Для дешифрования криптотекст C в степень D по все тому же модулю N. Все криптопримитив готов. Берем и пользуемся, так? На самом деле, не так. Дело все в том, что это и в самом деле не более чем криптопримитив и в реальном мире все самую чуточку сложнее.
Читать дальше →

Компиляция. 3: бизон

Время на прочтение13 мин
Охват и читатели54K
Это единственный пост в серии, в центре внимания которого — старообрядный сишный бизон, так надоевший некоторым. Тем, кто пишет не на Си, пост всё равно должен быть интересен, потому что похожие по принципу работы генераторы LR-парсеров существуют для очень многих языков. Тех же, кто идеологически не приемлет LR-парсеры, мне сегодня привлечь нечем.

Далее в посте:

  1. Компиляция грамматики
  2. Двухступенчатый парсер
  3. Что у него внутри?
  4. Конфликты в грамматике
  5. Как это работает?
Читать дальше →

Компиляция. 1: лексер

Время на прочтение7 мин
Охват и читатели97K
Меня всегда завораживало таинство рождения программой программы. К сожалению, российские вузы уделяют мало внимания сей интереснейшей теме. Рассчитываю написать серию постов, в которых поэтапно создадим маленький работоспособный компилятор.

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

Далее в посте:

  1. С какой стати писать компиляторы?
  2. Общий план
  3. Анализ текста
  4. Практический пример
  5. Как это работает?
Читать дальше →

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

Время на прочтение6 мин
Охват и читатели263K

Предисловие


Об этом руководстве


Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



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


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

Все ваши старые приставки внутри геймпада от любой из них

Время на прочтение1 мин
Охват и читатели13K
Мы тут, слово за слово, довели до абсурда идею использования геймпадов от старых приставок через USB. Покумекав немного, нашли удобную оболочку для запуска игр и засунули всё вместе прямо в геймпад. На видео можно посмотреть результат, а на хостинге Гугла лежит проект целиком со всеми прошивками, разводками и инструкциями по сборке. Пользуйтесь, если интересно.

Прошивка DD-WRT на домашнем роутере

Время на прочтение11 мин
Охват и читатели327K

Прошивка DD-WRT на домашнем роутере


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

Рано или поздно каждый пользователь интернета покупает себе домой роутер, поскольку количество устройств, требующих интернета, растёт. А у многих растут дети, которые тоже требуют подключения к интернету :) Но мне больно и обидно видеть, что люди не всегда понимают, что можно и нужно делать для достижения максимального комфорта.
Итак, роутер превращается... Часть 1

Расширение Regex Tester для Visual Studio 2010

Время на прочтение2 мин
Охват и читатели2.5K
Недавно у меня на работе кончилась пробная версия редактора регулярных выражений RegexBuddy. У нас с лицензиями всё строго, и я сразу удалил данную программу. Товарищи посоветовали попробовать онлайн редакторы в частности RegExr, он мне не понравился и я нашел другой RegexHero.

Но как то у нас временно не работала сеть и тогда я решил написать для себя маленькую утилиту для разбора текста с помощью регулярных выражений, создал WPF приложение, а для разбора текста использовать стал всем известный класс Regex, и уже через пол часа я воспользовался первой версией данной утилиты. Потом в течении двух недель я её доработал по мере необходимости и ловле мелких багов :). После выходных на работе поделился с коллегами, но все восприняли без комментариев очередную утилиту, которую нужно копировать или запускать по сети, кроме одного старшего(не по возрасту) товарища, который сказал, что было бы хорошо сделать её в виде расширения для Visual Studio 2010. И я начал думать о реализации своего расширения…
Читать дальше →

USB bootloader для микроконтроллеров AVR

Время на прочтение7 мин
Охват и читатели91K
В статье описывается, как быстро запустить USB bootloader для микроконтроллера ATmega32 на примере загрузчика usbasploader компании Objective Development.
Читать дальше →

Обход дерева без рекурсии и без стека

Время на прочтение3 мин
Охват и читатели29K
Придумал простой итератор для обхода произвольного дерева:
(для облегчения кода прежде всего)

struct Document
{
    Concept *root;
    struct Iter
    {
        Concept *start;
        Concept *cur;
        Concept *bottom;
    }iter;
 
    Concept* Begin(Concept *c)
    {
        iter.start = c;
        iter.cur = c;
        iter.bottom =  0;
        return Next();
    }
    Concept * Next()
    {
Читать дальше →

3D-проекции на здания мира

Время на прочтение1 мин
Охват и читатели15K


Продолжая тему «3D-инсталляция в Амстердаме», хочу поделиться с вами еще двумя красивыми и атмосферными видео. То, что выше — представляет собой демонстрационный ролик компании «NuFormer Digital Media» от 2009 года, и демонстрирует всю мощь технологий 3D-mapping'а (странно, но поиск по имени вышеупомянутой компании ничего не дал на Хабре, кроме нашего предыдущего поста). Именно эта компания сотрудничала с Samsung в Амстердаме. Аккаунт этой компании на YouTube содержит еще 16 видео с их работами.

Под хабракатом же находится еще одно видео с 3D-инсталляцией на здание Вильнюсского холла, собравшей около 10 тысяч человек.
Читать дальше →

30 комплектов иконок в стиле минимализм

Время на прочтение1 мин
Охват и читатели48K
image

Минимализм — стиль в дизайне, характеризующийся лаконичностью выразительных средств, простотой, точностью и ясностью композиции. Отвергая классические приемы творчества и традиционные художественные материалы, минималисты используют промышленные и природные материалы простых геометрических форм, нейтральных цветов (черный, серый) и малых объемов.
Эти значки идеально подходят для проектов, которые направлены на контент и типографику.
Читать дальше →

Легенда компьютерной музыки

Время на прочтение1 мин
Охват и читатели10K
Молодежь, кому 20 и менее лет, уже наверное и не вспомнит, с чего все начиналось… Тем не менее, на мой взгляд, более старшее поколение может пробить и на слезу, так как с этой мелодии началось грандиозное шествие компьютерной музыки по миру.

Обидно, что имя композитора этой мелодии Гершона Кингсли (Gershon Kingsley), остается незнакомым для большинства. Это первая в мире электронная композиция, на долю которой выпала оглушительная известность. Она мгновенно стала международным хитом.

Многие известные музыканты, такие как Стен Фри, Жан Мишель Жарр, Артур Фидлер, Anarchic System, Артура Фидлера, Aphex Twin, Muse, Gigi D’Agostino, Time Frequency, Crazy Frog, Messer Chups наш Виктор Зинчук, и многие другие создали более 500 кавер-версий этого произведения. В СССР наиболее известной является версия Вячеслава Мещерина, получившая заслуженную известность не только у нас, но и далеко за границей.

Итак, встречайте — «Попкорн»:
Читать дальше →

Создаем простейшее usb-устройство для общения со своей программой

Время на прочтение7 мин
Охват и читатели120K
В продолжение темы о создании собственного USB-гаджета.
Создание простого устройства.

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

Project Offset

Время на прочтение3 мин
Охват и читатели4.5K


Вступление


Недавно наткнулся на ютубе на несколько тех. демок движка еще неизвестной и не анонсированной игры под кодовым названием «Project Offset» с комментариями авторов.

Постов про этот проект на Хабре я не нашел — решил поделиться с уважаемой аудиторией.
Настоятельно рекомендую смотреть в HD качестве.

Увиденное для меня было легким шоком — такого я просто не ожидал увидеть в игре в ближайшие 5-7 лет. Дело даже не в том, что выглядит почти фотореалистично, а в том, какие фичи предлагают нам авторы.

Интересно, что, насколько я смог узнать, над движком работают всего три человека — энтузиаста, а результат настолько впечатляет.

Комментарии в видео на английском — их я переведу, а после — прокомментирую увиденное с моей точки зрения. На объективность я не претендую — не играл в игры уже года три, но с 3д-графикой знаком более-менее близко (на уровне любителя/хобби).
Читать дальше →

Asterisk для руководителя

Время на прочтение5 мин
Охват и читатели36K
Об использовании бесплатной программной телефонной станции «Asterisk» написано множество заметок, статей и книг. Не раз этот вопрос поднимался и на Хабре — и об устройстве, и об установке, и о тонкостях конфигурирования. Я же сегодня хочу посмотреть на Asterisk глазами руководителя IT, который «что-то слышал» и которому предстоит принять решение — внедрять у себя этот продукт, или остановить свой выбор на «классической» аппаратной АТС.

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

Создание USB-гаджета с нуля или еще одна лампа настроения

Время на прочтение6 мин
Охват и читатели59K
Как-то на глаза попалась статья про лампу настроения. Будучи очень далеким от электротехники и абсолютно незнакомым с принципом работы микроконтроллеров, полученных из топика данных ну никак не хватало для понимания всех необходимых действий для создания лампы. Со временем на глаза попадались другие интересные проекты на микроконтроллерах, потому в один прекрасный момент появилось желание потратить часть свободного времени на покорение сей стихии.

В этой статье я попытался собрать информацию о первых шагах создания с нуля своего проекта на микроконтроллере.
Читать дальше →

SIP телефония для дома — реализация, опыт, фишки

Время на прочтение9 мин
Охват и читатели209K
Всем привет.

В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.

Просто повторять аксиому, что SIP – это далеко не только дешевые междугородние звонки через sipnet или других операторов я не буду, и постараюсь в данном топике раскрыть все многообразие возможных вариантов применения SIP в быту.
Читать дальше →

Кеширование блоков с помощью nginx

Время на прочтение6 мин
Охват и читатели15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →

Десктопные клиент-серверные приложения на PHP – SiteFusion

Время на прочтение1 мин
Охват и читатели3.1K
SiteFusion – Open Source платформа для разработки клиент-серверных приложений на PHP. В качестве оболочки для приложений использует XUL.


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

Информация

В рейтинге
2 111-й
Зарегистрирован
Активность