Pull to refresh
46
1.8
Petr Ermakov @couatl

ML

Send message

Математическая морфология

Reading time6 min
Views59K
Воспользовавшись поиском, я с удивлением обнаружил, что на Хабре совсем нет статей, описывающих аппарат математической морфологии, а ведь этот аппарат незаменим в области низкоуровневой обработки изображений. Если вам это интересно, прошу под кат.
Читать дальше →
Total votes 75: ↑68 and ↓7+61
Comments5

Android nine-patch — растягиваем андроида

Reading time2 min
Views98K
nine-patchРекомендации по созданию UI виджетов и некоторых блоков приложений для ОС Android предписывают нам использовать блоки с закруглёнными углами и/или с эффектом объема, отбрасывающие тени. Какие же инструменты нам дает SDK для реализации таких интерфейсов?
При описании простых векторных форм без дополнительного оформления углов и краев блока рекомендуется использовать shape формы. Если в блоке имеются сложные графические элементы по углам или с краев блока можно использовать Nine-patch изображения, о которых и пойдет речь в этой статье. На случай сложного оформления блока, например в виде единого объекта, остается использовать только фиксированное изображение, что уменьшит рамки масштабирования и не даст изменить соотношение сторон блока.
Читать дальше →
Total votes 49: ↑43 and ↓6+37
Comments35

Git + TrackStudio — автоматизация разработки

Reading time19 min
Views11K
Это статья о том, как с помощью TrackStudio и Git можно организовать удобный процесс разработки ПО. В стать рассмотрен вариант для ОC Windows. Но при желании не сложно все сделать и для других OC.
Для этого нам понадобиться:
  1. TrackStudio — универсальная система управления задачами.
  2. Git — VCS.
  3. Blat — Маленькая (70kB) open source консольная программа под Windows, которая позволяет отправлять e-Mail по SMTP протоколу из командной строки, с приложенными файлами.
  4. STunnel — Программа, которая позволяет вам зашифровать произвольные TCP подключения внутри SSL. Инструмент доступен для Unix и Windows.
    Нужен если вы используете gmail.com, как почтовый сервис. Так как blat напрямую работать с gmail не может.
Задача:
Организовать рабочий процесс таким образом, что бы при коммите в git, автоматически в TrackStudio задаче добавлялся комментарии с различными типами сообщения и текстом этого комментария был текст сообщения коммита.
Решение
Total votes 38: ↑32 and ↓6+26
Comments49

И да придет Haskell…

Reading time3 min
Views2.5K
Странно, что это пришло мне в голову — я просто смотрел на Common Lisp и объяснение принципов его работы, ну еще немного на инструментарий Haskell.

И да придет Haskell…

Haskell — она как «та девчонка», ну вы знаете…
Читать дальше →
Total votes 153: ↑99 and ↓54+45
Comments51

6 шагов загрузки Linux на пальцах

Reading time5 min
Views206K
imageНажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

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

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
Читать дальше →
Total votes 195: ↑177 and ↓18+159
Comments87

Наводим порядок в старом хламе, или сказ о том, как случайно собрал мини БП

Reading time3 min
Views5.4K
Привет Хабравчане.
За годы коллекционирования старого электро-хлама, который по понятным причинам не ушел сразу в помойку, а складировался в ящиках, коробках и просто на столе под общим «тегом»: «авось пригодится» собрал волю в кулак и решил все это нафиг выкинуть. В процессе выкидывания случайно спаял простейший блок питания для пока непонятно каких нужд.
Любителям потрошить старье, добро пожаловать в продолжение.
Читать дальше →
Total votes 61: ↑47 and ↓14+33
Comments13

Smthngs (thn.gs) — todo веб-сервис как десктопное приложение

Reading time4 min
Views5.6K
Странное дело, порой кажется что каждый месяц появляется не меньше дюжины новых GTD-like таск-менеджеров. Одновременно с этим, хороших приложений для эффективного управления повседневными задачами крайне мало. Думаю, редкий читатель нашел для себя подходящий инструмент и пользуется им повседневно.
Мы не из ленивых, и как вы уже догадались, тоже сделали свой, с… всем что полагается.
Ниже я расскажу о нашей парадигме и особенностях, которые выгодно отличают нас от конкурентов. Т.к. многие уже устали от обилия постов о личной продуктивности на Хабре, в своем рассказе я сделаю упор на веб-технологии, а не на gtd-методологию. А пока картинка для привлечения внимания:
image
Читать дальше →
Total votes 173: ↑167 and ↓6+161
Comments196

Инвентаризация офисного оборудования

Reading time3 min
Views70K
Доброго времени суток.
Не так давно сменил место работы. Как говорится пришел и ужаснулся. В связи с недавним переездом данной компании в новый офис, вся серверная представляла собой жуткое зрелище -нагромождение коробок и пакетов с комплектухой и девайсами. Полуразобранные системные блоки и мониторы от мала до велика. Также удручал факт отсутствие, какой либо информации о кол-ве и характеристиках девайсов в целом по компании.
Ну собственно это было не большое отступление.

Задача.
Произвести инвентаризацию.

Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments32

Забавляемся с хешами

Reading time5 min
Views87K
Привет. Я хочу показать вам небольшой фокус. Для начала вам потребуется скачать архив с двумя файлами. Оба имеют одинаковый размер и одну и ту же md5 сумму. Проверьте никакого обмана нет. Md5 хеш обоих равен ecea96a6fea9a1744adcc9802ab7590d. Теперь запустите программу good.exe и вы увидите на экране следующее.
Попробуйте запустить программу evil.exe.
Что-то пошло не так? Хотите попробовать сами?
Тогда добро пожаловать под кат.
Total votes 264: ↑254 and ↓10+244
Comments123

Что еще нужно?

Reading time1 min
Views4.1K
Я часто слышал от стартапов много сожалений о том, что людям с идеями некуда податься, что негде взять разработчиков для проекта, что трудно получить инвестиции в проект на уровне идеи или прототипа.

На ближайшем московском Startup Weekend 11-13 февраля:
— будут около 30 экспертов Главстарта, которые готовы будут вместе с вами доработать идею проекта
— будут около 20 веб-студий и команд фрилансеров, которые будут готовы стать партнерами авторов идей
— будет Главстарт, готовый инвестировать в проекты на стадии идей и прототипов

Интересно, есть еще что-то, что останавливает людей с идеями от того, чтобы всем этим воспользоваться?
Total votes 51: ↑33 and ↓18+15
Comments126

Уничтожь старый 8/16-битный микроконтроллер и получи бесплатно плату LPCXpresso от NXP

Reading time1 min
Views5.8K
Наткнулся сегодня на интересную новость. Компания NXP предлагает поделиться видеозаписью (или фотографией) процесса физического уничтожения любого 8- или 16-битного микроконтроллера, в обмен на которые они обещают бесплатно выслать свою отладочную плату на базе Cortex-M0 контроллера LPC1114 — LPCXpresso.

Платка эта представляет собой комплект из отладочного интерфейса JTAG/SWD с USB интерфейсом и целевого процессора LPC1114.



Информации по доставке в Россию пока нет, однако зарегистрироваться и отправить фотографию у меня удалось успешно.

Собственно, вот ссылка на страницу регистрации.

Там же можно посмотреть видеоподборку, где народ громит молотком свои микроконтроллеры.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments44

Google упрощает контрактное программирование

Reading time1 min
Views2.5K
Google выпустил открытую библиотеку Contracts for Java, которая упрощает реализацию методов контрактного программирования в Java. С помощью библиотеки Contracts for Java предусловия, постусловия и инварианты можно добавлять в Java как булевые выражения внутри аннотаций.

Как сказано в официальном анонсе, библиотека разработана двумя программистами Google в свободное от основной работы время (20% на личные проекты) и основана на Modern Jass и сделана под впечатлением от языка Эйфель, в котором впервые был реализован метод контрактного программирования.
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments36

Операционные усилители (на основе простейших примеров): часть 3

Reading time5 min
Views172K

Краткое введение


Продолжаю спамить писать на тему операционных усилителей. В этой статье постараюсь дать обзор одной из важнейших тем, связанной с ОУ. Итак, добро пожаловать, активные фильтры.
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments14

Новые уязвимости доступа к файлам в PHP

Reading time8 min
Views30K
Какой-нибудь год назад все просто с ума сходили от Error-based MySQL, а unserialize казался чем-то сложным и не встречающимся в реальной жизни. Теперь это уже классические техники. Что уж говорить о таких динозаврах как нуль-байт в инклудах, на смену которому пришел file name truncated. Исследователи постоянно что-то раскапывают, придумывают, а тем временем уже выходят новые версии интерпретаторов, движков, а с ними – новые баги разработчиков.
По сути, есть три метода найти уязвимость: смекалка (когда исследователь придумывает какой-нибудь трюк и проверяет, работает ли он на практике), анализ исходного кода и фаззинг. Об одном интересном китайском фаззинге и его развитии с моей стороны я и хочу рассказать.

Список функций и результаты проверки
Читать дальше →
Total votes 138: ↑122 and ↓16+106
Comments52

Обзор C# библиотек для работы с PDF

Reading time5 min
Views166K
topic image
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments24

Ленишься? Плати!

Reading time1 min
Views1.2K
Как много решений вы приняли, но так и не выполнили? Как иного раз вы говорили себе, что пойдете в спортзал, займетесь изучением иностранного языка?

Вероятно, очень много раз.

Но если бы на кону был ваш счет в банке, увеличилось бы количество исполненных задач? Несколько новых компаний уверены, что вы скажете «да».

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

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

Вот как это работает:

Записываете ваши цели на StickK, выбираете друга в качестве «поручителя», который может отследить достижение вами цели, выбераете дату, к которой цель должна быть выполнена. Сделайте ставку, выберите любимую благотворительную организацию. Все!

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

Уже более 63 тысяч контрактов на StickK, а это более $5.9 млн. ставок. Побродите по сайту и вы найдете не только многолетние самозадачи о занятиях спортом и экономности в быту, но и «больше не знакомиться с неудачниками», «бросить пить Dr Pepper» и «говорить медленнее для иностранцев в Нью-Йорке»

Идея на миллион долларов? Уверен, что да — как для StickK, так и для благотворительных организаций.

by NYT
Total votes 107: ↑89 and ↓18+71
Comments71

Работа с камерой в Android

Reading time7 min
Views130K
Работа с камерой на телефоне всегда представляла для меня интерес. Как же это все устроено… И вот мне в руки попал телефон с Android'ом. Я не преминул возможностью попробовать разобраться в этом. Вот что получилось в итоге.
Исходный код и подробности
Total votes 61: ↑55 and ↓6+49
Comments19
12 ...
22

Information

Rating
1,045-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity