Pull to refresh
0
Иван & Иван @GKelpiread⁠-⁠only

User

Send message

Руководство по госзакупкам ПО с открытым исходным кодом

Reading time6 min
Views3.3K


Это название документа, который создан в результате исследования, заказанного Евросоюзом. Ссылку на этот документ в формате PDF я нашёл в блоге у Ивана Бегтина (того самого, который открыл п0дмену букв на российском сайте госзакупок)

Я загорелся идеей перевести этот документ на русский, чтобы было чем тыкать в лицо господам чиновникам, которые закупают тривиальное ПО на 1 млн. баксов, например. Т.е. чтобы на вопрос «о чём вообще речь?» можно было давать ссылку на этот документ.

Но, будучи человеком достаточно ленивым, сразу понял, что переводить PDF, сохраняя форматирование, будет для меня непосильной задачей. Поэтому написал в организацию, которая проводила исследование (OSOR.eu), письмо с просьбой переслать мне документ в ODT. Почему в ODT — потому что в метаданных PDF было указано, что он экспортирован из ОО.

В общем, переписка длилась порядка 2 недель, и я всё-таки добился своего. Не знаю, каким образом, но документ этот они нашли и переслали мне.

Документ достаточно большой (88 страниц на русском языке), поэтому решил написать пост с кратким рефератом + рассказать об инструменте, который использовал для более-менее удобного перевода документа в ODT на русский с сохранением форматирования.
Читать дальше →

Puppet, система управления конфигурациями. Часть II

Reading time4 min
Views37K
R2-D2 и C-3PO
В первой части я рассказал об основных особенностях системы управления конфигурациями Puppet. Во второй части мы настроим две машины для того, чтобы попробовать базовые вещи.

Для имён хостов я решил использовать имена роботов из эпопеи Джорджа Лукаса «Звёздные войны»: R2D2 и C-3PO. Так как R2 умнее, то он будет управлять C-3PO.
Читать дальше →

Puppet, система управления конфигурациями. Часть I

Reading time2 min
Views92K
Puppet — это инструмент, который позволяет автоматизировать настройку и управление большим парком машин. Используя Puppet вы сможете централизованно управлять конфигурациями одной, десятков, сотен и тысяч машин.

В этой статье я расскажу об основных особенностях системы.
Читать дальше →

Опыт внедрения Getting Real. Часть 1 из 2

Reading time8 min
Views12K
Год назад я прочитал книгу Getting Real от 37signals. Она очень впечатлила меня, и я решил, что стоит опробовать этот подход в нашей компании, чем и занялся прямо с начала 2011 года. Эта статья — своего рода отчет о годовом опыте внедрения Getting Real в отдельно взятой компании. Отчет конечно же промежуточный, потому что о реальном эффекте от изменения подхода к работе (а Getting Real – это не методика управления или разработки, а именно подход) можно судить спустя более ощутимый промежуток времени; к тому же, не все принципы подхода мы смогли применить. Об этом я тоже расскажу.
Читать дальше →

Учебный курс по разработке для Android от Google

Reading time1 min
Views8.4K
image
Желая привлечь еще больше разработчиков, в Google приняли решение организовать самостоятельно специальную программу для обучения программированию под свою мобильную платформу.

Обучающая программа носит название Android Training и уже доступна желающим. Надо сказать, что диапазон тем программы весьма разный: начиная от азов, таких как работа с Layout — затем рассматриваются такие темы как работа с аудио, фото, оптимизация работы батареи — заканчивая вопросами монетизации приложения. Статьи, конечно, сопровождаются инфографикой и примерами кода, а сам ресурс, как обещает команда Android Team, будет развиваться и дополняться.

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

Пост-анонс можно посмотреть здесь.

[Android Training]

Игры на CANVAS/WebGL

Reading time1 min
Views12K

Vortal Combat


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

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

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

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

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

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

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

Создание графических примитивов на Ассемблере

Reading time7 min
Views44K
Хотелось бы рассмотреть что-то интересное и полезное вплане использования, поэтому выбор пал на ассемблер, а именно на создание примитивной графики.

Язык ассемблер — это низкоуровневый язык программирования или же программа, которая исходный текст программы, написанный на языке ассемблера, переводит в программу на машинный язык. Язык, по некоторым меркам сложный, но ведь создание примитивов графики берет начало именно тут. Я же хочу рассмотреть ассемблер под Windows, а именно MASM, который, на ряду с Visual Studio, не так давно использовал для создания графических примитивов. Об этом с иллюстрациями и подробностями
Читать дальше →

Как создавать «зеленый» код

Reading time6 min
Views5.3K
Что такое энерго-эффективность в применении к мобильным платформам? Простыми словами это возможность сделать больше, затратив при этом меньше энергии.

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

AzaThread — многопоточность для PHP с блэкджеком

Reading time6 min
Views18K
В сети гуляет довольно много решений для эмуляции многопоточности в php. Чаще всего они основываются на форках, но есть и вариации на тему с использованием curl, proc_open и т.п.

Все встреченные варианты по тем или иным причинам меня не устроили и пришлось написать свое решение.
Набор требований у меня был следующий:
  • Использование форков;
  • Синхронный режим с сохранением интерфейса при отсутствии необходимых расширений;
  • Многократное использование дочерних процессов;
  • Полноценный обмен данными между процессами. Т.е. запуск с аргументами и получение результата по завершении;
  • Возможность обмена событиями между дочерним процессом-«потоком» и основным процессом во время работы;
  • Работа с пулом потоков с сохранением многократного использования, передачи аргументов и получения результатов;
  • Обработка ошибок выполнения;
  • Таймауты на выполнение работы, ожидание работы потоком, инициализацию;
  • Максимум производительности;

В результате получилась библиотека AzaThread (старое название — CThread).
Подробности

Битовые операции в PHP на примерах

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

Например, встречались такие варианты:
if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR){…}
или
if(in_array($error['type'], array(E_ERROR, E_PARSE,  E_COMPILE_ERROR)) {…}

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

Применение Octave для вычисления центра вращения звездного поля

Reading time11 min
Views4.5K
Я уже частично говорил о работе с FITS-файлами в Octave. Теперь расскажу о применении этого математического пакета для обработки конкретных данных, а именно: для вычисления центра вращения звездного поля по набору снимков, полученных с определенным интервалом.
Читать дальше →

Гарантия соблюдения прав третьих лиц в англоязычном контракте на разработку ПО (Часть 2)

Reading time3 min
Views2K
Итак, в прошлом посте, который был посвящен гарантиям в договоре на разработку ПО, я остановился на гарантии работоспособности («Warranty of functionality»). Я предлагаю продолжить этот увлекательный экскурс по миру гарантийных обязательств и рассмотреть особенности использования гарантии соблюдения прав третьих лиц «Infringement Warranty».

В современном мире защита прав интеллектуальной собственности весьма актуальна. Вот и Заказчик, начитавшись новостей про многомиллионные иски правообладателей ИС-прав к нарушителям, интересуется: «нет ли при разработке рисков, связанных с нарушением прав третьих лиц?» и «кто в ответе за это нарушение?».

В контракте на разработку ПО порядок этих правоотношений описывается посредством «Infringement Warranty». Суть этой гарантии заключается в том, что при разработке и дальнейшей передаче заказчику исключительных прав на использование ПО, разработчиком умышленно не будут нарушены авторские, патентные и любые иные права третьих лиц.
Читать дальше →

Движок сайтов S2

Reading time2 min
Views2K
Движок сайтов S2

S2 — простой и быстрый движок для небольших контент-сайтов, с удобной админкой, выпущенный под лицензией GPL. В нем страницы сайта объединены в иерархическую структуру, на основе которой работает ЧПУ, создаются навигационные ссылки и т. д.

К особенностям движка относится система расширений, позволяющая добавлять или изменять функциональность. Среди «стандартных» расширений — блог, поиск для малых сайтов, русская типографика, подключение визуального редактора TinyMCE, простая статистика (хиты/хосты/подписчики RSS).

История и планы на будущее

Быстрый роутинг на PHP

Reading time3 min
Views45K
image
Уходя от использования роутинга в .htaccess файле, в первую очередь пришёл к стандартному направлению на index.php: разбирал там URL и вызывал соответствующие контроллеры — долгое время был доволен такой техникой. Однако совсем недавно осознал, что что-то делаю не так, что можно сделать эффективнее и лучше.
Далее я расскажу о своём роутинге, использующем XML для хранения правил и в последующем использующем его сериализованный вид.
Читать дальше →

Разгони свой сайт – автоматическая СКЛЕЙКА + GZIP

Reading time9 min
Views16K
Разгонись

Есть куча советов как убыстрить отдачу сайта – это и статика через nginx и кластеризация и куча еще всяческих хитрых технологий. Однако во всех книжках, советующих как можно повысить загрузку сайтов можно найти две постоянно повторяющиеся темы – «склеивание CSS/JS» и «включение сжатия».
Читать дальше →

Пять научных открытий, сделанных с помощью Google Earth

Reading time3 min
Views49K
Благодаря спутниковым фотографиям всей поверхности Земли учёные получили возможность исследовать территории, куда никому и в голову не приходило посылать научные экспедиции, а также под новым углом взглянуть на давно изученные места. За последние несколько лет благодаря программе Google Earth сделан целый ряд важных открытий. Иногда эти открытия делаются совершенно случайными людьми.

Остатки древнеримской виллы, Италия, 2005

Одно из самых первых археологических открытий, сделанных в Google Earth, состоялось в 2005 году. По иронии, автор открытия, местный житель Лука Мори (Luca Mori) запустил программу просто чтобы обследовать местность возле своей родной Пармы. Совершенно неожиданно он заметил какой-то странный овальный артефакт в полях неподалёку от города.



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

Excel Mashup — сервис от Microsoft для внедрения возможностей Excel в веб

Reading time1 min
Views2.7K
На этой неделе Microsoft представила свой новый сервис Excel Mashup, который предназначен для внедрения возможностей табличного процессора Excel в HTML-страницу, причем все вычислительные и графические возможности Excel сохраняются, а управление объектом возможно при помощи JavaScript-библиотеки.

С сервисом предлагается работать следующим образом:
  • Web-разработчик, располагая некими данными и/или графиками в книге Excel, загружает её на облачный сервис SkyDrive (необходима регистрация) и настраивает права доступа к ней.
  • Затем получает от сервиса HTML-код для установки на страницу. Этот код и будет, по сути, «web-версией» обычной «десктопной» книги Excel.
  • Если внедренным объектом необходимо управлять, то программист может использовать по своему усмотрению возможности JavaScript-библиотеки Excel Services.

Сервис хорошо документирован: есть интерактивные примеры сниппетов, выполнив код которых можно тут же увидеть как это выглядит, а также полноценное демо-приложение.

Эффектный пример с использованием Bing Maps также можно оценить здесь.

Для еще более глубокого использования также предлагается REST и SOAP API.

[ExcelMashup]

Практический эпизод борьбы с DDoS

Reading time4 min
Views9.2K
Один юноша очень любил ругаться на тематическом ресурсе. И за это его регулярно банили. А один раз взяли, да и не разбанили.

Обиделся юноша, и решил отомстить. Поднакопил денег, взял да и заказал DDoS ресурса. Благо это в РФ не уголовно, к сожалению, наказуемое деяние.

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

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

Тем, кто (предпо)читает Хемингуэя в подлиннике, можно сразу отправляться сюда. Там и код тоже можно найти.

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

Рейтинг Top-50 digital-агентств России-2011

Reading time2 min
Views3.3K
Привет, Хабр!

Мы публикуем долгожданный революционный рейтинг digital-агентств России.
Он оценивает их размер (обороты, сотрудники, проекты), известность, влиятельность, качество работ и репутацию.

В нем (в отличие от рейтинга веб-студий) проранжированы компании, оказывающие комплексные услуги маркетинговых коммуникаций в digital — онлайн-стратегии, креатив, разработка сайтов, видео и других интерактивных продуктов, продвижение (медийная, контекстная реклама, SEO, SMM), работа с обратной связью и т.д. Под digital мы понимаем любые решения для браузера, мобильных устройств и других цифровых коммуникационных платформ.

Первая десятка рейтинга:

image

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity