Рубрика «open source» - 332

Данная статья касается современных линуксов. Например, RHEL6 с ядрами 2.6.3х — подойдёт, а вот RHEL5 с ядрами 2.6.18 (кстати, наиболее популярный в продакшне) — увы, нет. И ещё — здесь не будет описания ядерных отладчиков или скриптов SytemTap; только старые-добрые простые команды вида «cat /proc/PID/xyz» в отношении некоторых полезных узлов файловой системы /proc.

Диагностика «тормозящего» процесса

Вот хороший пример часто возникающей проблемы, которую я воспроизвёл на своём лаптопе: пользователь жалуется, что команда find работает «значительно медленнее», при этом не возвращая никаких результатов. Зная, в чём дело, мы решили проблему. Однако меня попросили изложить систематический подход к решению подобных задач.

К счастью, система работает под управлением OEL6, т.е. на достаточно свежем ядре (а именно — 2.6.39 UEK2)

Итак, приступим к диагностике.
Читать полностью »

Проект OpenBSD под угрозой закрытия: нет денег на оплату счетов за электричествоOpenBSD — вторая по популярности BSD-система. Она поддерживает 20 архитектур железа, включая такую экзотику, как VAX или Motorola 68000. OpenBSD широко используется в сетевом оборудовании, а дочерние проекты, такие как Packet Filter и OpenSSH, широко используются во многих других *nix-совместимых ОС.

Создатель и главный разработчик системы Тео де Раадт строго придерживается принципов радикальной открытости — все части системы имеют свободные лицензии, в ней вообще не используются фрагменты закрытого проприетарного кода даже в драйверах. Код системы доступен под максимально либеральной лицензией ISC. В отличие от копилефтных лицензий, подобных GPL, она не накладывает вообще никаких ограничений на использование кода, в том числе и в закрытых коммерческих системах.
Читать полностью »

Представляю ещё один свой проект, на этот раз, — opensource (лицензия GPLv3).
QML Particle Editor — редактор частиц, десктопное приложение, написанное целиком на QML.
image
Не знаю, как вы, а я Qt Quick Designer (известный также, как qml2puppet) обычно не использую, глючный он, да и руками мне удобнее писать. Беглый обзор показал, что для работы с частицами QML до сих пор ничего специфичного нет и не ожидается, поэтому за время новогодних праздников запилил свой редактор.

Зачем это нужно? Удобнее изменять свойства и тут же видеть результат, чем вслепую править код и гадать, почему внешне ничего не изменилось. Само собой, для того, чтобы делать крутые штуки вроде тех, что лежат в демо-приложенях, придётся вникнуть во взаимосвязь компонентов и разобраться в свойствах, без этого не обойтись. Хотя, основу, например, можно набросать в редакторе, а плюшки вроде ColorAnimation on color прописать уже руками, так как всё, что делает мой редактор — позволяет создать сцену и получить её QML код, который сразу можно использовать в любом проекте.

Подробности реализации и ссылка на репозиторий — под катом.
Читать полностью »

Что делает компьютерный код в голливудских фильмах

Британский программист и писатель Джон Грэм-Камминг (John Graham-Cumming) открыл познавательный блог Movie Code, посвящённый использованию компьютерного кода в голливудских фильмах. На сайте собирают кадры из фильмов и объясняют, откуда взят код и что конкретно он делает в реальности. Не секрет, что режиссёры часто подбирают код совершенно произвольным образом, иногда получается очень смешно.

Например, вверху показан кадр из боевика «Штурм Белого дома», где режиссёры использовали код нескольких open source программ, которые написаны в 2007-2008 годах для демонстрации Raw Sockets с целью инъекции пакетов. Свой код в официальном трейлере опознал специалист по информационной безопасности с сайта SecurityTube.net.
Читать полностью »

Concise Binary Object Representation (сжатое бинарное представление объекта) — формат данных, который был спроектирован таким образом, чтобы обеспечить максимально простой код реализации, формирования компактных выходных данных и возможность расширения формата без необходимости обмена информацией о версии.

Стандарт формата CBOR был официально анонсирован комитетом IETF в октябре 2013 года в новом документе RFC 7049, авторами которого являются Carsten Bormann и Paul Hoffman. Взглянув на имя первого автора, можно предположить другую причину происхождения аббревиатуры для названия формата, но возможно это просто совпадение. Формат CBOR получил MIME-тип application/cbor.

На данный момент существует, вероятно, сотни всевозможных бинарных форматов для представления структурированных данных, ряд которых стандартизирован, популярен и широко применяется (например, BER и DER для ASN.1, MessagePack и BSON). Все существующие стандарты решают поставленные перед ними задачи, и CBOR здесь не исключение. К формату было предъявлено семь важных требований, и, поскольку ни один из существующих форматов в полной мере не мог им удовлетворить, был создан новый (да, тут напрашивается картинка ).

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

Опубликован исходный код Light Table

Light Table — новая интерактивная IDE, в которой реализованы некоторые идеи для улучшения и упрощения средств разработки. Среди основных идей — автоматическое отображение документации по любой функции при выделении мышью, мгновенный показ результата вычислений и удобный интерфейс.

Собрав необходимую сумму на Кикстартере, американский разработчик Крис Грэнджер сдержал слово — реализовал поддержку Python и опубликовал исходный код Light Table на Github.
Читать полностью »

В первой части статьи я рассказал о компании DMP Electronics, малоизвестном тайваньском производителе x86-совместимых процессоров семейства Vortex86, а также материнских плат и компьютеров на их базе. Во второй части я обещал привести сравнительные характеристики процессора Vortex86MX, и сделать обзор компьютера eBox-3300MX на его базе. К сожалению, по не зависящим от меня причинам, вторая часть ещё не закончена, и я вынужден опубликовать третью часть раньше второй. В третьей части речь пойдёт об Arduino.

Не прошло и месяца, как Intel объявила о начале продаж первого x86-совместимого Arduino-контроллера, а DMP Electronics уже выпустила свою версию платы на базе своего собственного процессора Vortex86EX. Новая плата получила название 86Duino.x86 compatible, часть 3: «86Duino наносит ответный удар»Читать полностью »

 Интерактивные книги популярны среди немногих, но их суть вообще мигрирует во все ММОРПГ и на основе текстов пишутся сюжеты и квесты и тд. Недавно в комментариях предложил использовать движок текстовых игр и решил сам слегка ознакомиться с возможностями.
Обнаружилось, что этих движков как минимум несколько и их список и список игр доступен по адресу rilarhiv.ru. Это может быть не всем интересно, для любителей в основном, многие не пишут книги, но все читали хотя бы одну и все выполняли квесты, может быть кто-то играл в mud, игровая механика интерактивных книг плавно перешла в игровую и реальную жизнь.
image
Читать полностью »

image

Google объявил, что практически все крупные производители в скором времени обеспечат поддержку видеокодеку VP9 в своих продуктах и позволят YouTube транслировать видео в формате 4K, пишет TechCrunch. До этого поддержка VP9 была включена в Mozilla, Google Chrome и в нескольких видеоплеерах, таких как FFmpeg.

Google утверждает, что кодирование видео в формате VP9 даёт около 50 % экономии пропускной способности по сравнению с его старшим кодеком VP8 или стандартом H.264. Среди производителей, согласившихся поддержать VP9 — компании ARM, Broadcom, Intel, LG, Marvell, MediaTek, NVIDIA, Panasonic, Philips, Qualcomm, Realtek, Samsung, Sigma, Sharp, Sony и Toshiba.
Читать полностью »

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

Когда я перерос README на Github, я рассматривал только 2 варианта для документации: Github Pages и Read the Docs. К сожалению, у меня возникли проблемы с обоими. Главным образом, Read the Docs заставляет меня использовать reStructured Text, а Github Pages подразумевает поддержку отдельной ветки и использование генератора статичных страниц.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js