Как стать автором
Обновить
0
0
Марк Кунц @MarkKunts

UI/UX дизайнер, разработчик

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

Связь на Марсе

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


​12 апреля отмечается международный день полёта человека в космос. Более полувека прошло с того момента, когда Человечество сделало первый шаг в его освоение. Череда блестящих технических и научных побед сделала нас ближе к звёздам. Жажда открытий тянет постигать новые таинственные миры. Марс, красная «звезда» на небосводе, с древних времён притягивал к себе внимание людей. Невообразимо похожий на Землю, но всё-таки чужой мир до сих пор не покидает сознание многих исследователей. Вероятно в скором времени мы можем стать свидетелями тому, как на Марсе станут появляться небольшие исследовательские колонии людей. Инженерам предстоит столкнуться с многими проблемами. На Хабре присутствует большое количество специалистов разных областей, каждый обладает широким кругозором и определёнными знаниями. Предлагаю воспользоваться коллективным разумом и в этой статье поразмышлять о том, как бы выглядела связь на Марсе, если бы там существовали колонии людей.



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



Иллюстраций: 21, символов: 45 081.



Читать дальше →
Всего голосов 190: ↑179 и ↓11+168
Комментарии93

Простейшие алгоритмы сжатия: RLE и LZ77

Время на прочтение9 мин
Количество просмотров140K
Давным-давно, когда я был ещё наивным школьником, мне вдруг стало жутко любопытно: а каким же волшебным образом данные в архивах занимают меньше места? Оседлав свой верный диалап, я начал бороздить просторы Интернетов в поисках ответа, и нашёл множество статей с довольно подробным изложением интересующей меня информации. Но ни одна из них тогда не показалась мне простой для понимания — листинги кода казались китайской грамотой, а попытки понять необычную терминологию и разнообразные формулы не увенчивались успехом.

Поэтому целью данной статьи является дать представление о простейших алгоритмах сжатия тем, кому знания и опыт пока ещё не позволяют сходу понимать более профессиональную литературу, или же чей профиль и вовсе далёк от подобной тематики. Т.е. я «на пальцах» расскажу об одних из простейших алгоритмах и приведу примеры их реализации без километровых листингов кода.
Читать дальше →
Всего голосов 102: ↑95 и ↓7+88
Комментарии8

fc.tape — js-библиотека для простой анимации спрайтов

Время на прочтение2 мин
Количество просмотров2.5K
Хочу поделиться с хабросообществом javascript-библиотекой fc.tape. Её назначение — управление анимацией спрайта, представляющего собой склеенные кадры.
Демо
Читать дальше →
Всего голосов 52: ↑46 и ↓6+40
Комментарии10

Кластерные и «обычные» индексы MySQL (InnoDB)

Время на прочтение5 мин
Количество просмотров135K
Все мы помним хрестоматийное объяснение «что такое индексы в БД и как они облегчают задачи поиска нужных строк». Уверен, у большинства из вас перед глазами встаёт нечто подобное:

Некластерный индекс

И сразу становится очевидно, насколько меньше данных нужно перелопатить для поиска двух-трёх нужных строк. Гениально. Просто. Понятно.

И лично мне всегда казалось, что улучшать эту схему некуда… Пока я не познакомился с кластерными индексами. Оказалось, что всё не так уж радужно с «обычными» индексами.

Итак, что же такое кластерный индекс, чем он лучше некластерного, и как с ним обстоит дело у MySQL.
Читать дальше →
Всего голосов 90: ↑87 и ↓3+84
Комментарии33

Ломаем банк в стиле smash the stack!

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

Не только XSS…


Последнее время многие обращают внимание на уязвимости ПО, используемого в банковском секторе: в частности, недавно прошумела новость об уязвимостях класса XSS на веб-сайтах различных банков. Общественность негодует, и СМИ шумят. Но ведь банки богаты не только веб-составляющей. Начиная с конца 2000-х я собирал уязвимости в модулях ActiveX, которые банки гордо раздают своим пользователям, а именно клиентам системы дистанционного банковского обслуживания (ДБО). Раз в год я брал одну или две системы и ковырял их. Начиная просто так, любопытства ради (начал это дело, еще будучи сотрудником банка) и продолжая уже из исследовательского интереса. В итоге за 3–4 года я выявил уязвимости в системах от таких производителей, как BSS, Inist, R-Style, ЦФТ. Под катом находится информация об одной такой уязвимости. Большая часть описания уделена созданию простенького эксплойта для выполнения произвольного кода на стороне клиента (Windows7, IE +DEP/ASLR). Возможно, это будет полезно тем, кто хотел бы понять принципы эксплуатации старых ‘strcpy’ багов и создания ROP-эксплойтов.


Читать дальше →
Всего голосов 191: ↑186 и ↓5+181
Комментарии49

Способ вертикального выравнивания блока с помощью настоящего vertical-align

Время на прочтение4 мин
Количество просмотров70K
Сегодня, верстая один макет, я, кажется, изобрел очередной небезынтересный способ вертикального выравнивания блока относительно родительского. Он не основан на превращении блоков в ячейки таблицы и не использует css-свойство position.

Требования

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

Возможности

— Работает в IE6+, O9+, FF2+, webkit;
— Тру vertical-align выравнивание со всеми допустимыми значениями;
— Одинаковое поведение во всех браузерах (незначительные отклонение при некоторых условиях в ие6 будут оговорены ниже);
— При вырастании дочернего блока выше «папочки», родительский блок расширяется;
— Ни грамма JavaScript.
Читать дальше →
Всего голосов 98: ↑83 и ↓15+68
Комментарии59

1997 год. Стив Джобс: Первые размышления об «облачных сервисах» (русский перевод)

Время на прочтение1 мин
Количество просмотров83K
image image

Предлагаем посмотреть редкое видео с презентации Apple от 1997 года. Именно тогда Стив Джобс впервые рассказал разработчикам о потенциале облачных сервисов, которые стали входить в нашу жизнь только сейчас. Перевод на русский язык — канал GTV.
Читать дальше →
Всего голосов 74: ↑60 и ↓14+46
Комментарии27

Практическое использование термистора с Arduino

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

Здравствуй, Хабрасообщество. После прочтения нескольких статей на хабе Arduino я загорелся заполучить эту игрушку. И вот недавно получил посылку с платой. Затем побаловался со светодиодами и захотел чего-нибудь посерьёзнее. Решил сделать простейший термометр, используя всего термистор, резистор на 10 кОм и LCD дисплей. Кому интересно что получилось — прошу под кат.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии26

Взлом одного Android приложения

Время на прочтение4 мин
Количество просмотров142K
Недавно я усиленно разрабатывал свое приложение под Android, и в процессе защиты платной версии понял, что довольно сложно обезопасить приложение от взлома. Ради спортивного интереса решил попробовать убрать рекламу из одного бесплатного приложения, в котором баннер предлагается скрыть, если заплатить денежку через In-App Purchase.


В этой статье я опишу, как мне удалось убрать рекламу бесплатно и в конце — несколько слов о том, как усложнить задачу взломщикам.

Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии42

Настраиваем пользовательский синий экран смерти

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

Он посинел, ему плохо?


BSOD – реакция ядра на неразрешимую исключительную ситуацию. Если вы его видите, то это значит, что случилось что-то определенно нехорошее.

Среда ядра накладывает множество ограничений на свободу действий программиста: учитывай IRQL, синхронизируй доступ к разделяемым переменным, не задерживайся в ISR, проверяй любые данные из «юзерленда»… Нарушив хотя бы одно из правил, вы получите настоящий выговор из штампованных фраз в стандартном VGA-видеорежиме с худой палитрой.
Читать дальше →
Всего голосов 142: ↑136 и ↓6+130
Комментарии54

Поиск повторений в двумерном массиве, или правильно выбранный инструмент

Время на прочтение3 мин
Количество просмотров1.2K
Доброго времени суток.

В той или иной степени интересуюсь алгоритмами. Наткнулся на свежую статью
«Поиск повторений в двумерном массиве, или вычислительная сложность на примере» http://habrahabr.ru/post/141258/. Автор стати,Singerofthefall, довольно интересно рассказывает про решение задачи и оптимизации алгоритма. Очень интересно. Однако, по моему мнению, прежде всего необходимо было определить не алгоритм, а инструмент которым будет решаться задача. И вот инструмент был выбран неправильный, отсюда вся сложность и оптимизации.
Для решения задачи автора более всего подходили инструменты БД, соответственно и надо было их использовать.
Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии2

Рендеринг наоборот. Преобразование Хафа на GPU

Время на прочтение10 мин
Количество просмотров19K
title

Преобразование Хафа служит для поиска на изображении фигур, заданных аналитически: прямых, окружностей и любых других, для которых вы сможете придумать уравнение с небольшим количеством параметров. О преобразовании Хафа написано немало, и данная статья не ставит цели подробно осветить все аспекты. Я лишь объясню общий принцип, останавливаясь на особенностях, мешающих его реализации на GPU «в лоб» и, конечно же, предложу решение. Те, кто знают проблемы и хотят сразу видеть решение, могут пропустить пару-тройку разделов.

Читать дальше →
Всего голосов 77: ↑76 и ↓1+75
Комментарии9

Blackhole + CVE-2012-0507 = Carberp

Время на прочтение4 мин
Количество просмотров18K
На этой неделе известный набор эксплойтов Blackhole обновился до версии 1.2.3 и в его составе появился новый эксплойт для Java на уязвимость CVE-2012-0507 (Java/Exploit.CVE-2012-0507). Первыми обратила внимание общественности на актуальность этой уязвимости компания Microsoft, которая опубликовала в своем блоге сообщение об интересном способе выполнения Java-кода за пределами песочницы JRE (Java Runtime Environment).

Первые упоминания о боевом эксплойте для этой уязвимости появились от компании Immunity, которая выпустила специальный модуль для своего продукта Immunity CANVAS еще в начале марта 7.03.2012. Эта уязвимость была закрыта 15 февраля в рамках критического обновления от Oracle. Буквально вчера поздним вечером, на момент подготовки этой публикации, появился публичный эксплойт для CVE-2012-0507 в составе Metasploit Framework. Отдельно стоит отметить его кроссплатформенность и возможность эксплуатации на системах Windows, Linux, Solaris и OSX (обновление безопасности от Apple появилось вчера). Последняя особенно интересна в свете увеличения количества вредоносных программ для нее, распространяющихся в том числе и посредством эксплуатации Java уязвимостей. Эксплойт из Metasploit Framework выглядит очень похожим на тот, что был обнаружен в обновленном Blackhole и складывается впечатление, что он был рипнут по большей части оттуда…

В последнее время я часто писал об эксплойтах для Java и они действительно в последний год самые пробивные в инцидентах массового распространения вредоносных программ. Разработчики наборов эксплойтов, таких как Blackhole, используют только так называемые 1-day уязвимости, т.е. уже содержащие официальное исправление от разработчиков. Потому что использование 0-day слишком дорого для их целей и совершенно себя не окупает, но бывают исключения, когда 0-day попадает на паблик вместе с PoC. Использование уязвимости нулевого дня на данный момент можно чаще всего увидеть в целенаправленных атаках. Кстати, довольно занимательный пост о ценах на 0-day и карме ресечеров можно почитать тут.

Вернемся к нашему эксплойту, на этой неделе снова было замечено распространение Win32/TrojanDownloader.Carberp через популярные веб-ресурсы, посредством внедрения iFrame конструкций для перенаправления на ресурс с набором эксплойтов.

Первым нам попался ресурс lifenews.ru, на котором содержался следующий iFrame:

image

Как видно из внедренного кода, сразу происходила атака именно CVE-2012-0507, а доменное имя, на котором был расположен Blackhole, очень схоже с именем атакованного веб-ресурса. Результат выполнения кода в iFrame можно увидеть даже визуально на модифицированной оригинальной странице.

Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии11

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

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


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


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

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

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

Расширенный сборник CSS-хаков

Время на прочтение4 мин
Количество просмотров37K
Статья является расширенным сборником CSS-хаков в сравнении с аналогичной статьей.
Под хаком подразумевается метод, позволяющий воспринимать CSS только определенному браузеру.
Хаки могут использоваться не только для исправления багов в верстке, но и в случае использования определенных особенностей браузера для ускорения рендеринга web-страницы в нём (к примеру CSS3-свойства)

Подробности под катом
Всего голосов 116: ↑110 и ↓6+104
Комментарии77

Могут ли насекомые быть запчастями?

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

Эта киберплатформа несёт до 9 грамм полезной нагрузки.

Возьмём гусеницу. В какой-то момент она начинает сама переделывать себя в бабочку. Вопрос прост: можно ли дать ей для сборки синтетические компоненты, которые позволят получить киборга-насекомое? Ответ – да, можно. И Мишель Махарбиз это сделал.

Когда этот учёный из Беркли создал первого киборга-жука, к нему сразу пришли военные (DARPA) и спросили, собирается ли он убивать людей, плюс что будет, если его жук убежит и начнёт бешено размножаться.
Читать дальше →
Всего голосов 181: ↑173 и ↓8+165
Комментарии135

10-ка лучших стартапов марта по версии StartupPoint

Время на прочтение4 мин
Количество просмотров20K
Дорогой Хабр, по итогам марта мы выбрали для тебя 10 самых интересных на наш взгляд стартапов, и у каждого из них своя «номинация».

«10» за тщательность

imageСтартап Fixber — это площадка по предоставлению услуг тестирования сайтов и программного обеспечения, своего рода Head Hunter для тестировщиков. Сервис, который предоставляет Fixber, дешевле и лучше, чем все существующие аналоги, потому что позволяет нанять сразу нескольких тестировщиков по разумной цене. У каждого тестировщика есть портфолио, а заказчики могут оставлять отзывы о проделанной работе, формируя репуацию специалиста.

Отдельная история – это поиск багов. Создатели Fixber говорят: «кто первым найдем баг – тому приз». Естественно, имеется ввиду денежное вознаграждение. И искать баг начинает гарантированно больше, чем один человек, а в деле поиска и устранения мелких «косяков» перед запуском, как известно, количество ищущих очень даже перерастает в качество поиска. И, как следствие, результата.

«10» за наглядность

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

В центре функционала Resumup — горизонтальный таймлайн, промаркированный годовыми засечками. В остальном — сохранено деление на рубрики классического резюме: зарплатные ожидания (в несовсем привычном виде почасовой ставки) знание иностранных языков, личностные и профессиональные навыки, ценности, увлечения (симпатичными иконками), тип личности. Из особенно интересного: определение типа личности, например, отметкой на шкале «экстраверсия-интроверсия» или «импульсивность-самоконтроль» с бегующим ползунком.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии18

Егор Хомяков продолжает взломы

Время на прочтение1 мин
Количество просмотров19K
Известный по инциденту с Github российский веб-разработчик Егор Хомяков (Chikey) отличился ещё раз. На этот раз он решил не мелочиться и ударил сразу по десятку известных сервисов, в том числе Moneybookers, Formspring, SlideShare, YFrog, Bitbucket, Lockerz, Github, KinoPoisk, Badoo, Odesk, Dailymotion, Vimeo, About.me, Posterous, Hulu, Booking.com, Heroku.

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

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

На этой неделе Хомяков планирует опубликовать уязвимость в Webkit, позже — советы по безопасности JSONP, фреймам, обходу правила ограничения домена, CSRF, а также ещё один лёгкий хак Rails (и PHP), сейчас подбираются сайты для демонстрации уязвимости.
Читать дальше →
Всего голосов 182: ↑141 и ↓41+100
Комментарии193

Ошибка в большинстве браузеров

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


Предыстория :


Как то неожиданно появился заказ на создание интересного эффекта на сайте. Работа вроде и простая но и в одно время требовала немного подумать. Сам я занимаюсь уже 3 года версткой. И ничего подобного не делал. Оценил разработку и согласился. Но тут меня ждали подводные камни и ошибка которую я обнаружил в 1 варианте затрагивает браузеры Opera Next (12.00 alpha b.1351). Что же касается Google Chrome 19 (dev) и Mozilla FF 11 (release), IE9-10 — тут все в порядке. Во 2 варианте сдался Chrome.

Интересно ? добро пожаловать под кат.
Всего голосов 147: ↑116 и ↓31+85
Комментарии60

Информация

В рейтинге
Не участвует
Откуда
Иркутск, Иркутская обл., Россия
Дата рождения
Зарегистрирован
Активность