Рубрика «open source»

Ричард Столлман обеспокоен любовью Microsoft к Linux - 1Корпорация Microsoft в последнее время неоднократно говорила о своей поддержке Linux. И не только говорила, но и подтверждала слова делом. Ключевым событием стала разработка подсистемы WSL (Windows Subsystem for Linux), с помощью которой внутри Windows можно запускать Linux-приложения и даже устанавливать некоторые Linux-дистрибутивы. Подсистема WSL никак не сравнится с нормальной Linux-системой по производительности и функциональности, в ней даже не запускаются приложения с GUI. Но она постепенно развивается, в Microsoft активно работают над WSL. И у неё будут уникальные особенности, позволяющие расширить возможности Linux. Например, там можно связать в общую цепочку команды из разных дистрибутивов Linux и команды из Windows (эта новая функция представлена 29 августа 2017 года).

Сразу же после анонса WSL многие узнали знакомый паттерн, то есть знакомую стратегию действий Microsoft. В сообществе Open Source до сих пор периодически высказывают мнение, что WSL — это реализация стратегии Embrace, Extend, Extinguish («Поддержать, расширить, уничтожить»). Как было установлено Министерством юстиции США, эта фраза использовалась в корпорации Microsoft, чтобы описать стратегию внедрения в отрасли ПО путём расширения их стандартов и дальнейшего использования этих отличий для получения преимущества и уничтожения оригинальных свободных версий.

Ричард Столлман согласен: всё указывает на то, что Microsoft опять использует тактику Embrace, Extend, Extinguish.
Читать полностью »

imageМежду выпусками прошло достаточно много времени и накопилось достаточно изменений за 2017г.

Читать полностью »

Хакеры из проекта Project Zero компании Google выложили в открытый доступ инструмент автоматического тестирования программ на баги — фаззер Domato. Эффективность программы доказана на практике: она нашла 31 баг в пяти популярных браузерах. Результаты тестирования показаны в таблице.

Вендор
Броузер
Движок
Кол-во багов
Идентификаторы багов Project Zero
Google Chrome Blink 2 994, 1024
Mozilla Firefox Gecko 4* 1130, 1155, 1160, 1185
Microsoft Internet Explorer Trident 4 1011, 1076, 1118, 1233
Microsoft Edge EdgeHtml 6 1011, 1254, 1255, 1264, 1301, 1309
Apple Safari WebKit 17 999, 1038, 1044, 1080, 1082, 1087,
1090, 1097, 1105, 1114, 1241, 1242,
1243, 1244, 1246, 1249, 1250
Всего 31**

Читать полностью »

Привет!
Хочу представить мою последнюю open-source разработку — CGLayout — вторая система разметки в iOS после Autolayout, основанная на ограничениях.

CGLayout — новая система автоматического layout'а в iOS - 1

"Очередная система автолайаута… Зачем? Для чего?" — наверняка подумали вы.
Действительно iOS сообществом создано уже немало layout-библиотек, но ни одна так и не стала по-настоящему массовой альтернативой ручному layout`у, не говоря уже про Autolayout.

CGLayout работает с абстрактными сущностями, что позволяет одновременно использовать UIView, CALayer и not rendered объекты для построения разметки. Также имеет единое координатное пространство, что позволяет строить зависимости между элементами, находящимися на разных уровнях иерархии. Умеет работать в background потоке, легко кешируется, легко расширяется и многое-многое другое.
CGLayout функциональный продукт, у которого есть хорошие перспективы развиться в большой проект.

Читать полностью »

Название статьи подсказала тема на одном из форумов. Несмотря на то, что с момента возникновения вопроса прошло шесть лет, в этом направлении мало что изменилось. А поскольку в последнее время у меня на слуху постоянно был OpenVPN, то было решено исправить данную ситуацию. Так родилась графическая утилита VpnGUI для создания, редактирования, запуска и контроля выполнения утилиты openvpn.
После запуска утилиты VpnGUI в трее появится иконка (квадрат разбитый на четыре сине-красных квадратика) утилиты:
Читать полностью »

Сбор данных из различных источников, преобразование с целью унифицирования либо удобства довольно распространенная задача. Конечно, в большинстве случаев можно обойтись собственным решением, но чтобы оно было гибким и легко расширяемым придется потратить немало времени. В таком случае разумным будет воспользоваться готовым решением. Talend Open Studio (TOS) одно из таких решений.

Меня несколько удивило отсутствие статей про работу с TOS на Хабре. Возможно, тому есть причины, мне непонятные. Как бы то ни было, постараюсь восполнить этот пробел.

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

Padding Oracle Attack: криптография по-прежнему пугает - 1

Эту уязвимость чинят уже пятнадцать лет

В хабрапереводе текста четырёхгодовалой давности «Padding Oracle Attack или почему криптография пугает» была подробно описана атака на режим шифрования CBC. В этом режиме каждый очередной блок открытого текста xor-ится с предыдущим блоком шифротекста: в результате каждый блок шифротекста зависит от каждого блока открытого текста, который был обработан к тому моменту.

Padding Oracle Attack: криптография по-прежнему пугает - 2

Чтобы пропустить исходное сообщение (произвольной длины) через CBC-шифр, к нему дописывается MAC (хеш для проверки целостности, обычно 20-байтный SHA-1) и затем padding, чтобы дополнить открытый текст до целого числа блоков (обычно 16-байтных):

Padding Oracle Attack: криптография по-прежнему пугает - 3

Padding («набивка») состоит из одинаковых байтов, на единицу меньших своей длины: (0) или (1,1) или (2,2,2) или т.п.
Таким образом, получатель шифротекста должен

  1. расшифровать все его блоки;
  2. прочитать последний байт последнего блока, чтобы определить длину набивки и, соответственно, позицию MAC в открытом тексте;
  3. проверить корректность набивки и MAC.

В 2002 г. французский криптограф Серж Воденэ обнаружил в CBC уязвимость к атакам типа «padding oracle»: Читать полностью »

Nuklear+ — миниатюрный кроссплатформенный GUI - 1 Nuklear+ (читается как "Nuklear cross", значит "кроссплатформенный Nuklear") — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы.

Я уже писал на хабре статью "Nuklear — идеальный GUI для микро-проектов?". Тогда задача была простой — сделать маленькую кроссплатформенную утилиту с GUI, которая будет примерно одинаково выглядеть в Windows и Linux. Но с тех самых пор меня не отпускал вопрос, а можно ли на Nuklear сделать что-то более-менее сложное? Можно ли целиком на нём сделать какой-нибудь реальный проект, которым будут пользоваться?

Читать полностью »

Проекции? Hет, спасибо - 1

Под катом будет небольшая заметка о применении пространственного индекса
на основе zcurve для индексации точечных данных, расположенных на сфере.
А так же bencmark-и для PostgreSQL и сравнение с таким же (но совсем другим)
индексом на R-дереве.
Читать полностью »

Travis CI: автоматическая загрузка собранных модулей на GitHub - 1

В этой очень небольшой заметке я расскажу об очень небольшом усовершенствовании процесса автоматической сборки приложения в Travis CI. Я это проделал на примере Андроид-приложения, но, естественно, это будет работать и для других языков. Постановка задачи очень проста — участники сообщества попросили автоматически собирать в выкладывать приложение после каждого коммита в репозитории на GitHub. То есть речь идёт не о сборке фиксированных версий, а именно о «ежедневных» сборках, которые можно сразу же установить и тестировать, не дожидаясь официальной версии. Я, как разработчик, подобную заинтересованность могу только приветствовать, так как это сильно повышает качество обратной связи. Реализация этого процесса очень проста, только штатные средства GitHub и Travis CI, никакой магии. Так что я до сих пор сомневаюсь, стоит ли вообще о таком писать и отвлекать уважаемых хаброжителей от более серьёзных тем. Но если кто заинтересовался — прошу под кат.

Читать полностью »