Pull to refresh
27
0.1

Mission Critical

Send message

Рисуем картинки с помощью кривой Гильберта

Reading time5 min
Views46K
В субботу на прошлой неделе «дело было вечером, делать было нечего», и мы с хабраюзером sourcerer разговаривали не понятно о чём. И почему-то речь зашла речь о задаче обратной к задаче построения графика функции по её выражению. То есть, например, у нас есть выражение y(x) = (cos0,5x ⋅ cos 200x + |x|0,5 − 0,7)(4 − x2)0,01. График такой функции чем-то напоминает сердечко. Но нам был интересен обратный вопрос, как, имея, например, изображение сердечка, получить выражение для функции, графиком которой будет это самое сердечко.

Какие-нибудь ряды Фурье вспоминать не хотелось, а хотелось чего-то простого и красивого. Мы начали вспоминать известные нам результаты, связанные с этим вопросом. В результате получилась программка, которая по изображению генерирует ломаную линию, чем-то напоминающую исходное изображение. На примере котёнка по имени Гав это выглядит примерно так (смотреть лучше издалека):



Если интересно как такое сделать, а также узнать про формулу конопли, формулу, график которой является этой же формулой, то добро пожаловать под хабракат. (Будет много картинок.)

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

Citrix XenServer Free: Hypervizor hardening with PAM and RBAC

Reading time5 min
Views5.4K
Доброго времени суток, коллеги.
XenServer является одним из самых популярных гипервизоров на данный момент.
Во многом благодаря тому, что дает неплохой функционал «за бесплатно».
Поэтому многие решения сделаны на Free версии без возможностей Enterprise.
А в число «платных» фишек входит и авторизация средствами LDAP с возможностью разграничения прав пользователей.
Да-да, вы не ослышались. В бесплатном XenServer все пользователи равны. То есть имеют роль Pool Admin.
Попробуем разобраться, — как мы сможем «защитить» гипервизор в бесплатной версии?


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

Поисковый движок IndexTank передан в open source

Reading time1 min
Views3.1K
В октябре 2011 года профессиональная социальная сеть LinkedIn купила компанию IndexTank, которая занимается производством поисковых технологий. Очевидно, приобретена в первую очередь команда профессионалов под началом известного специалиста Диего Баша (Diego Basch), он же основатель и генеральный директор IndexTank, а в прошлом — один из ведущих разработчиков Inktomi. Как иногда бывает в таких случаях, прошлые продукты компании решили передать в open source. Диего Баш объявил, что исходные коды программного обеспечения IndexTank опубликованы под свободной лицензией Apache 2.0 и выложены на github.

indextank-engine: индексатор
indextank-service: API, BackOffice, Storefront и фреймворк Nebulizer для управления индексами

Поисковый движок IndexTank используется на многих крупных сайтах, в том числе Reddit, Wordpress (плагин для Wordpress) и BitTorrent. Он обеспечивает индексацию контента в реальном времени, поиск с учётом геолокации и т.д.

Программные интерфейсы позволяют разработчикам встраивать поиск IndexTank в свои приложения на Ruby, Java, .NET, Python, PHP и т.д. Документация по API здесь.

Почему программисты работают по ночам

Reading time3 min
Views108K
Мозг шимпанзе в лондонском музее наукиСогласно поговорке, программисты — это устройства, преобразующие кофеин в код.

Если спросить первого попавшегося программиста, когда он наиболее продуктивен, — скорее всего, он назовёт ночь. Кто-то пораньше, кто-то попозже. Популярен вариант встать в 4 утра и сделать работу до начала дневной суматохи. А некоторые предпочитают ложиться в 4 утра.

Цель всего этого — избавиться от отвлекающих факторов. Но можно было бы просто закрыть дверь… Что же такого особенного в ночи?

Я думаю, что всё сводится к трём вещам: расписанию творца, сонному мозгу, и яркому экрану компьютера.

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

IPv6 шлюз для локальной сети

Reading time10 min
Views58K
Для проверки готовности локальной офисной сети к возможности перехода на протокол IPv6 мною был организован испытательный стенд на основе сервера с FreeBSD, являющийся шлюзом для доступа в IPv6 интернет и сервером популярных сетевых ресурсов (WEB, eMail, FTP). Выбор FreeBSD обусловлен наличием уже существующей виртуальной машины с этой системой. Далее я немного расскажу как всё было настроено (не в даваясь в теоретические подробности построения и адресации IPv6) и попытаюсь обрисовать ситуацию о готовности существующих систем и программ к использованию с IPv6 на примере тех сервисов, которые мне удалось протестировать, как со стороны клиента, так и со стороны сервера. Эксперименты активно проводились в период месяц «до» и месяц «после» «Дня IPv6» 8 июня 2011, поэтому сейчас ситуация с поддержкой в некоторых программах может измениться в лучшую сторону.
Читать дальше →

Знакомство с jabber ботами

Reading time4 min
Views11K
imageДлительное время я использовал джаббер только в роли меседжера, однако несколько недель назад мне попался адрес джаббер бота, который был словарем, что представилось мне крайне удобным в использовании. В скором времени мой ростер пополнился десятком удобных ботов, и в поиске новых я, в том числе, исследовал хабр, но не нашел ничего. Я решил заполнить эту нишу и создать сводный список ботов, известных мне, которые, по-моему мнению, могут заинтересовать.
Читать дальше →

Сканируем в 3D с помощью фотоаппарата или 123D Catch

Reading time3 min
Views134K
В современном мире трехмерные технологии стали очень популярны. 3D стремительно и разнообразно входит в жизнь даже обычного человека. Начиная от 3D телевизоров, 3D сканеров и даже принтеров. Хотя последние два устройства в большей степени пока доступны только специалистам. Но технологии не стоят на месте. Появляются трехмерные принтеры стоимостью около $2000, что уже приближает время, когда они появятся, если не у каждого школьника/студента на столе, то как минимум, у каждого инженера или дизайнера. Что касается методов получения трехмерной модели с реального физического объекта, то тут тоже не все однозначно. Требуются наличие либо дорогостоящего лазерного сканера, либо можно попытать счастье с помощью лазерного строительного уровня, веб-камеры и специального программного обеспечения. Наличием всех этих вещей тоже не может похвастаться абсолютно любой человек.
Однако есть очень простой способ “сканировать” объект в 3D модель, используя обычный цифровой фотоаппарат. Как это сделать? Об этом и пойдет речь далее.
Читать дальше →

Обработка входящей почты на PHP

Reading time2 min
Views38K
Хочу поделиться рецептом, как совместить php-скрипт и почтовый сервер Postfix для автоматической обработки входящей почты.

С помощью такой связки мы собираем статистику по количеству возвратов bounce-писем:Undelivered Mail Returned to Sender.

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

Как это сделать...

Демоны на PHP

Reading time4 min
Views76K
Памятка начинающему экзорцисту.

Прежде, чем начать: я знаю, что такое phpDaemon и System_Daemon. Я читал статьи по этой тематике, и на хабре тоже.

Итак, предположим, что вы уже определились, что вам нужен именно демон. Что он должен уметь?
  • Запускаться из консоли и отвязываться от неё
  • Всю информацию писать в логи, ничего не выводить в консоль
  • Уметь плодить дочерние процессы и контролировать их
  • Выполнять поставленную задачу
  • Корректно завершать работу

Отвязываемся от консоли


// Создаем дочерний процесс
// весь код после pcntl_fork() будет выполняться двумя процессами: родительским и дочерним
$child_pid = pcntl_fork();
if ($child_pid) {
    // Выходим из родительского, привязанного к консоли, процесса
    exit();
}
// Делаем основным процессом дочерний.
posix_setsid();

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

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

Пишем ГОСТ криптопровайдер

Reading time18 min
Views40K
рис.1
Секреты создания CSP для Windows раскрыты в статье Ю.С.Зырянова.

Российские криптоалгоритмы ГОСТ реализованы в OpenSSL Gost.

Удивлен, что на просторах Интернета не удалось найти подтверждения, что кем-то был создан интерфейс криптопровайдера ГОСТ под Windows с использованием вышеприведенных инструментов.

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

3D-сканер за $30

Reading time9 min
Views210K
Профессиональный 3D-сканер, с помощью которого можно оцифровать реальный объект, получив его компьютерную модель, стоит десятки тысяч долларов. Мы же сможем провернуть то же самое с помощью специальной программы, лазерной указки и веб-камеры. Всего долларов за тридцать.


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

«Защита» mp3 файлов на amazon.com

Reading time3 min
Views11K
Всем привет.
Не так давно дали на работе задачку по изучению факта наличия какой-либо скрытой информации в требуемых mp3-файлах. Т.к. точно не было известно, есть ли что-то в них или нет, задача представлялась почти неразрешимой. В свое время писал диплом на тему скрытия информации в аудиофайлах (аудиостеганография) и представлял, что если захотеть что-то спрятать, то обнаружить это будет почти невозможно. Первым делом начал поиски с чтения полей ID3 тэгов, вспомнил, что есть, в частности, тэг Lyrics (служащий для сохранения текста песни), содержимое которого в том же winamp-е не отображается.

На поверку данное поле оказалось пустым.
После некоторого времени общения с гуглом наткнулся вначале на статью про Amazon MP3 (http://en.wikipedia.org/wiki/Amazon_MP3), а затем уже и на песни на amazon.com, которые содержат в себе некий «unique purchase identifier».
Читать дальше →

Решение судоку с помощью веб-камеры в реальном времени

Reading time12 min
Views61K

Предисловие




Это приложение может и не имело практической ценности, но опыта прибавило действительно много. Я бы хотел немного поразмышлять на тему компьютерного зрения. Эта область является одной из самых захватывающих в современных компьютерных вычислениях, и она очень сложна. Что легко и просто для человеческого мозга, то очень сложно для компьютера. Многие вещи до сих пор остаются невозможными с сегодняшним уровнем развития IT.

Программа написана с помощью низкоуровневого языка C++, потому что я действительно хотел понять, как же это все работает изнутри. Если вы тоже хотите начать изучение компьютерного зрения, то для этого пригодиться библиотека OpenCV. На CodeProject вы сможете найти несколько уроков по ней. Изображение с веб-камеры получается с помощью исходного кода Вадима Горбатенко (AviCap CodeProject).
Читать дальше →

Десяток ресурсов, которые помогают быть дизайнером

Reading time2 min
Views37K
Работать дизайнером очень интересно. Это творческая работа. И как любому творческому человеку, дизайнеру нужна муза или вдохновение.

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

Естественно, если вы расскажите о своих ресурсах, я буду благодарен.

Хочу сразу предупредить, что практически все ресурсы, собранные мной — англоязычные. Только лишь один на русском. Так же я не очень приветствую узкопрофильные ресурсы (речь о ресурсах, на которых можно скачать только кисти для photoshop и прочее).
Читать дальше →

Декорирование Ext JS4

Reading time4 min
Views11K
Используя ExtJS в своих проектах, приходится постоянно видеть один и тот же сине-голубой интерфейс, что не всегда хорошо. В 4й версии этого фреймворка появился удобный компонент для изменения внешнего вида вашего веб-приложения без ручной правки CSS, основанный на использовании метаязыка SASS. С его помощью можно получить интерфейс, внешне не похожий на стандартный, заменив всего пару строк в конфигурационном файле.
Читать дальше →

Распределённый поисковик YaCy версия 1.0

Reading time2 min
Views18K


Активисты движения за свободное ПО запустили новый проект: поисковую систему YaCy, которая в перспективе может составить конкуренцию Google, Yahoo/Bing, «Яндекс» и прочим закрытым коммерческим поисковикам. Версия YaCy 1.0 вышла после пяти лет разработки, и теперь присоединиться к сети наконец-то может любой желающий.
Читать дальше →

327 000 рублей от государства? Пожалуйста!

Reading time3 min
Views2K
Обсуждение государственных программ по поддержке начинающих предпринимателей уже не раз поднималась на страницах нашего коллективного блога. Но, так как программ субсидирования самозанятости несколько, я все же хочу остановиться одной из них, которой, почему-то, здесь практически не уделялось внимание.

В настоящее время программа государственного субсидирования самозанятости предоставляет возможность гражданину, состоящему на учете в центре занятости населения в качестве безработного, организовать свое дело и получить наиболее крупную единовременную субсидию (до 30 МРОТ).

Возможно, вам будет интересно узнать, как именно обычный человек из простого российского города может вот так взять и получить субсидию на развитие своего дела в размере 327 000 рублей.
Сколько времени и сил было потрачено, какие препоны стояли на пути к достижению цели — обо всем вкратце будет рассказано под катом.
Читать дальше →

Делаем приватный монитор из старого LCD монитора

Reading time2 min
Views983K


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

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

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

OpenPGP-модуль для Gmail

Reading time1 min
Views17K
Специалисты из немецкой компании Recurity Labs разработали JavaScript-реализацию стандарта OpenPGP (RFC 4880) для подписи и шифрования писем в почтовых веб-интерфейсах. Таким образом, PGP-криптография доступна прямо в браузере без установки дополнительного софта.



Модуль GPG4Browsers реализован в качестве расширения для Google Chrome и работает только с Gmail, но не должно стать проблемой переделать его для другого браузера и/или почтового сервиса, ведь исходные коды открыты.
Читать дальше →

Быстрое шифрование ваших сообщений

Reading time1 min
Views3.9K
Мы часто передаём по сети разные сообщения — в форумах, социальных сетях, по аське, по почте и т.д.
И зачастую хочется скрыть содержимое от посторонних глаз (да-да, в почтовых сервисах и в социальных сетях могут читать ваши сообщения, если оно попадётся в результатах внутреннего поиска по сообщениям).
Так вот. Ставить какие-то шифрующие программы для этого утомительно, затруднительно, а по большей части — просто лень.
И вот тут появляется на арене очень полезный букмарклет Encipher.it
Представляет он из себя обычный Javascript. Ставится он элементарно просто — сохраняете его в «Избранном», выносите на главную панель браузера и пользуетесь. Либо просто через drag-and-drop перемещаете на панель закладок.
image

Например, для того, чтобы зашифровать какое-то сообщение, то просто выделите его, нажмите на иконку «Encipher.it», который появился на панели браузера, введите пароль в появившемся окошке и ваше сообщение тут же зашифруется. Декодируется всё точно так же — выделяем зашифрованный текст, жмём на букмарклет, вводим пароль и сообщение расшифровывается.




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

Шифрование/дешифрование происходит полностью на стороне клиента.

Information

Rating
5,235-th
Registered
Activity