Search
Write a publication
Pull to refresh
37
0
Антон @doxtarzlo

User

Send message

Защищаем сайт от атак на примере ХабраХабра

Reading time5 min
Views17K


Рано утром Хабр «выкатил» своё новое обновление, и я с чистой совестью достаю эту статью из черновиков.
Вчера у меня случился epic fail и этот топик частично, включая строчку об апдейте выше, попал в паблик на пару секунд. За эти секунды топик успело плюсануть несколько человек.
Ещё раз, теперь публично, прошу прощения у администрации!
Совет остальным — НИКОГДА не храните в черновиках информацию вроде этой.


В последнее время в сети Интернет можно найти очень много пособий для «Начинающих хакеров», в которых подробно описываются все основные методы взлома сайтов. Думаете, веб-разработчики стали от этого умнее и предприняли все возможные методы для защиты? Я так не думаю.

В настоящей статье я хочу ещё раз поведать разработчикам о том, как ломают сайты, а чтобы вам не было скучно, я попутно буду ломать Хабр и подробно описывать, как я это делал. Мы рассмотрим такие интересные штучки, как «Активная XSS в профиле», «Бесконечное обнуление кармы», «Публикация топиков со значком 'Из песочницы'», «CSRF через Flash и дыру в Internet Explorer 6» и многое другое.

Все уязвимости уже исправлены. Ну или почти все. Поэтому, если вы найдёте очередную дыру, то пишите на support@habrahabr.ru — миф о том, что эту почту никто не читает всего лишь миф.
Читать дальше →

Пишем драйвер для самодельного USB устройства

Reading time13 min
Views179K
Целью этой статьи является пошаговая демонстрация процесса разработки всего набора программного обеспечения необходимого для организации связи самодельного устройства с компьютером посредством USB.

На данный момент, большинство радиолюбителей реализуют такой тип подключения используя чипы переходники USB в RS232 таким образом организуя связь со своим устройством посредством драйвера виртуального COM порта поставляемого с чипом переходником. Минусы такого подхода думаю понятны. Это как минимум лишний чип на плате и ограничения накладываемые этим чипом и его драйвером.
Мне же хочется осветить весь процесс организации такого взаимодействия так как оно и должно быть сделано, и как делается во всех серьезных устройствах.
В конце концов, сейчас 21-й век, модуль USB есть почти во всех микроконтроллерах. Именно о том, как наиболее быстро воспользоваться этим модулем и будет эта статья.
Читать дальше →

Включайте креатив – отправляйте идею или готовое приложение на конкурс Your Business – Your Fame!

Reading time1 min
Views467
Похоже, что 2012 – прибыльный год для облачных технологий. А у вас есть хорошая идея? Тогда рекомендуем принять участие в конкурсе «Your Business – Your Fame!» с проектом облачного сервиса или приложения на базе Windows Azure. В конкурсе может участвовать приложение, система или сервис, использующий любую возможность Windows Azure (хранилище, базу данных, распределенный кэш, вычислительные ресурсы).


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

Усилитель для наушников, чуть сложнее

Reading time5 min
Views204K
Проапгрейдил недавно компьютер на LGA2011, на коробке от относительно недешевой платы красовалась надпись «супер пупер звук, 110Дб вся фигня». Отлично подумал я, хороший звук никогда не помешает. Следующие 2 дня я неистово гнал железо, и все было хорошо. А потом вернулся к обычной работе, и естественно, к рабочей музыке. Тихо. Нет. ТИХО! 100% громкости едва хватало для комфортной громкости с моими обычными 32-х омными наушниками (Sennheiser HD 448, отличающихся не самой высокой чувствительностью), а если запись была сделана с низким уровнем сигнала — то хоть волосы вырывай.

От безысходности начал было даже слушать через bluetooth A2DP адаптор, но само собой и качество и аккумуляторы (~6 часов) вгоняли в печаль…

Стало ясно что жить так больше нельзя…
Читать дальше →

Google Chrome Extension: Печатаем статьи с habrahabr

Reading time8 min
Views14K
Как-то вечером, уходя с работы, наткнулся здесь на интересную статью. Так как я люблю читать печатный вариант, да и время было уже позднее — хотелось домой, но и хотелось прочесть — решил распечатать и почитать в дороге.
Читать дальше →

sexybookmarks — Plugin для Wordpress. Добавляем кнопки «ВКонтакте» и «Одноклассники»

Reading time4 min
Views6.5K
Сегодня речь пойдет о компоненте для Wordpress – sexybookmarks версии 3.0, а именно, как добавить в этот плагин кнопки «ВКонтакте» и «Одноклассники»

Плагин sexybookmarks на странице WordPress

Для тех, кто еще не знаком с этим плагином, поясню, этот плагин отображает «социальные кнопки» для публикации ваших статей в различные сервисы, такие как «Facebook», «закладки Google», «закладки Яндекс» и т.д.
Читать дальше →

MIDI и OSC — основные протоколы взаимодействия музыкальных приложений

Reading time8 min
Views25K

Часть 1. MIDI


MIDI (Musical Instrument Digital Interface) — это стандарт обмена данными между цифровыми музыкальными инструментам. Он позволяет обмениваться такой информацией, как номер ноты, скорость нажатия, таймкод и др. MIDI поддерживает большинство выпускаемых музыкальных девайсов, исключения составляют многие модули модульных систем (например, Eurorack), а также такие специфичные вещи, как Monome.
Читать дальше →

Собираем свою Bluetooth машинку с управлением на Android

Reading time4 min
Views36K
На последней сессии я как обычно тщательно готовился к экзаменам (то есть не знал, чем себя занять), и как по счастливой случайности, у меня образовалась радиоуправляемая машинка, большая и красивая, хотя и явно рассчитанная на детей. Поигравшись минут десять, я захотел ее модернизировать, а именно вместо неудобного джойстика с радиусом действия в 3 метра использовать коммуникатор с bluetooth. И удобнее, и дальность действия больше, и явно видны дальнейшие улучшения, о которых, как впрочем и о процессе прикручивания коммуникатора к детской машинке, и пойдет речь в данной статье.



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

Пользовательский интерфейс на базе Twitter Bootstrap для начинающих

Reading time6 min
Views61K

Аннотация


В статье я попробую рассказать о том, как на базе Twitter Bootstrap можно очень легко реализовать приятный пользовательский интерфейс небольшого (одностраничного) web-приложения, владея лишь базовыми знаниями html. Сразу предупреждаю, специалистам будет не интересно, речь пойдет о базовом стандартном функционале.

beginners only!

Золотые правила успешной кнопки

Reading time3 min
Views71K
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.



Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
Читать дальше →

Вышел в свет бесплатный свободный шрифт Prosto

Reading time1 min
Views13K
Иван Гладких и Павел Емельянов сегодня (20 февраля 2012 года) начали свободно (по лицензии OFL 1.1) раздавать шрифт под названием Prosto, разрабатывавшийся в течение последних шести месяцев:

[презентационная иллюстрация]

Шрифт раздаётся в архиве (45 Kb RAR, включая лицензию OFL) и предназначен для логотипов, заголовков и презентаций. Начертание единственное (без жирных, тонких и наклонных вариантов).

Содержит буквы латиницы, кириллицы, центральноевропейские, западноевропейские, турецкие, а также буквы языков (народов, стран), соседствующих с Балтийским морем.

Вот обильная презентационная инфографика (≈½ мегабайта), дающая достаточное представление о форме и возможностях нового шрифта:

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

Простейший аттенюатор для аудиокарты

Reading time5 min
Views50K
В любительской радиотехнике, а именно в области проектирования усилителей низкой (звуковой) частоты, очень удобно использовать для измерений компьютер.
Профессиональные измерительные приборы стоят немалых денег, тогда как аудиокарта имеется почти в любом домашнем компьютере. В совокупности с доступным и разнообразным ПО мы получаем удобный инструмент для снятия всех основных характеристик: АЧХ (амплитудно-частотная характеристика), THD (уровень гармонических искажений), соотношение сигнал/шум и спектрограмму.



Единственным неудобством оказывается слишком чувствительный вход аудиокарты,
на который нельзя подать сигнал, превышающий напряжение 0.5-1.5 вольта.
И здесь на помощь приходит аттенюатор.

Его можно (и нужно) собрать самостоятельно. Ничего хитрого в этом опыте нет, но для тех, кто делает первые шаги в усилителестроении, материал будет полезным.
Читать дальше →

Улучшаем юзабилити за 5 минут

Reading time4 min
Views7.3K
В этой блогозаписи я намерена поделиться несколькими такими советами по увеличению юзабилити сайта, каждый из которых очень лёгок в реализации. Не все они кросс-браузерны, но всё равно они «глазурь на тортике»: читатель и не заметит, что их нет.

1. Отображайте нажатия кнопок и кнопкоподобных ссылок


Мой излюбленный совет. Когда стиль кнопки задаётся в CSS, или когда для отображения необычной кнопки используется рисунок (либо как фон, либо как элемент <img />), то кнопка не реагирует на нажатие во всех или в некоторых браузерах (зависит от ситуации). Вот какой простой уловкою вы можете дать знать посетителю сайта, что он и впрямь нажал на нечто нажимаемое:

.mybutton:active {
   position: relative;
   top: 1px;
   left: 1px;
}

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

Есть другие, не менее быстрые варианты: придать границе свойство inset, указать свойству text-indent значение 1px, изменить направление градиентного фона (что можно сделать быстро, если для этого не придётся прибегнуть ко графическому редактору, то есть если где-то ещё на сайте используется готовый перевёрнутый градиент), или комбинация нескольких из них.

2. Плавные переходы (CSS3 transitions)


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

Artensoft Tilt Shift Generator создает эффект миниатюры в фотографии

Reading time2 min
Views29K


Всем привет! Хабраюзеры, которые увлекаются фотографией, наверняка слышали о таком интересном приеме, как Tilt Shift (Тилт-шифт). Это уникальный стиль фотосъемки, при котором предмет или место снято в натуральную величину, но выглядит как миниатюрная модель. Изначально такой эффект можно было достичь при помощи специальных объективов или переходников. Так вот, буквально в начале этой недели в Рунете появился новый проект от компании Artensoft – компьютерная программа для создания tilt-shift фотографии из любого фотоснимка без применения оптики – Tilt Shift Generator. У этой программы есть свои уникальные фишки, о которых я расскажу в этом небольшом обзоре.

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

Бесплатная электронная книга по шаблонам проектирования на украинском языке

Reading time1 min
Views7K
Хабравчане, позвольте вам представить мой небольшой и скромный труд по шаблонам проектирования на украинском языке. Заранее извините, если вы не из Украины.

image

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

Освежите в своей памяти подзабытые дизайн паттерны!

Скачать книгу

В нескольких словах
Книгу я написал с добрыми намерениями. Их у меня было несколько. Я хотел удостовериться, что сам понимаю все классические дизайн паттерны. Ресурсов для этого достаточно много, но я решил реализовать эти паттерны самостоятельно и придумать собственные примеры. Таким образом, начиная С 16 января 2010 я писал блог посты, которие так или иначе вызвали интерес у читателей. Чтобы этот вклад в программирование был более четким, у меня возникло желание выпустить небольшую книгу, которая стала бы коллекцией этих блог постов.

Посетите сайт книги: http://designpatterns.andriybuday.com/

Любые конструктивные замечания возьму во внимание. Если вы считаете эту работу не стоящой внимания, можете об этом упомянуть в комментариях.

Определение доминирующих тонов на изображении [v 1.1]

Reading time2 min
Views53K
После публикации прошлой статьи, я полностью забил на попытку выполнить алгоритм при помощи HSV или Lab координат. Забил на использовании библиотек цветов и вообще на сам скрипт забил.

Но что-то стало скучно и опять зачесались руки поработать с изображениями и одновременно захотелось исправить уже имеющийся алгоритм.
Скрипт: link

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

1/998001

Reading time1 min
Views8K
image

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

К сожалению, большинство инструментов, которые применяются для вычислений, будут прятать результат, но если вы найдете такой, который этого (1/998001=1.002003004005006e-06) не делает, то, может, не сразу заметно, но деление 1 на 998001 дает в результате все числа от 001 до 999.

Если вам интересна такого рода математика, то 1/9801 выдаст похожий результат, последовательность чисел от 01 до 99

Можно посмотреть в WolframAlpha. Нажимайте «More digits» в блоке «Decimal approximation»:
www.wolframalpha.com/input/?i=1%2F998001
www.wolframalpha.com/input/?i=1%2F9801

Чёртова дюжина советов начинающим верстальщикам. Часть вторая

Reading time6 min
Views5.6K
Доброго времени суток!

О том, что вы читаете


Вот оно и свершилось — перед вами продолжение советов начинающим верстальщикам. Если вы не читали первую часть, то можете сделать это прямо сейчас.
В данной части вы ознакомитесь ещё с 11 советами (именно столько в моей второй заметке их находится).
Сперва мы пройдём нововведения в визуализации, а затем пофилосовствуем на тему семантики.

Ещё немного лирики


После выхода первой части я получил огромное количество feedback'a. Если честно, я не ожидал такого желания изучить что-то новое. Да-да, быдлокодеры там тоже есть. Но сейчас не об этом…
Также, как вы можете заметить, что количество человек, добавивших мой топик в избранное достигло миллиона, достаточно велико, что не может не свидетельствовать об огромном интересе к HTML5. Итак, поехали.
Читать дальше →

Усилитель для наушников просто и быстро

Reading time6 min
Views159K

Предисловие


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

Несмотря на простоту, девайс звучит вполне прилично, а усиливает вообще замечательно, так что если есть желание что-то сделать своими руками, не тратя на это неделю — добро пожаловать. Если же вам просто нужен усилитель для наушников, то сходите и купите. Это будет дешевле и проще.

Зачем


Как многие разработчики, я люблю работать в наушниках. Это создает необходимый барьер между мозгом и разговорами/телефоном/пр. шумами офиса. Не так давно я купил себе относительно неплохие наушники AKG 272 HD, и втыкаю я их в SB Audigy 2. Звуковая картина в целом радует и дарит всяческие наслаждения, но обнаружился один момент — при прослушивании не очень современной музыки, музыки, не затронутой войнами громкости, а также композиций, не страдающих болезненной компрессией и перегейном, громкости звучания недостаточно, даже при вывернутых на максимум ползунках. Вероятно, это связано с чувствительностью используемых динамиков.

Для решения этого вопроса я решил потратить свободный вечер на постройку небольшого усилителя для наушников.
Читать дальше →

Новый алгоритм MIT в десятки раз ускоряет быстрое преобразование Фурье

Reading time1 min
Views22K


На симпозиуме по дискретным алгоритмам ACM на этой неделе группа исследователей из MIT представила новый алгоритм быстрого преобразования Фурье sFFT (Sparse Fast Fourier Transform), который на некоторых задачах может быть в десятки или сотни раз быстрее классического БПФ.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity