Open source — TechCave

Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.


Открытое программное обеспечение (англ open-source software) — программное обеспечение с открытым исходным кодом.

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

Стена группы

Загрузка...
2 месяца назад
#

Почему BSD проиграла в битве с GNU/Linux?



Существует множество разных операционных систем с открытым исходным кодом, и если вы пользуетесь одной из них, то почти наверняка она будет на базе ядра Linux и набора программ GNU. Многие думают, что дистрибутив GNU/Linux и был первой open source операционной системой. Но это не так. Его опередил проект Berkeley Software Distribution, или BSD. Причем будет справедливо сказать, что он был также более профессиональным и ориентированным на рынок. Но почему тогда BSD сейчас находится на задворках экосистемы open source, тогда как GNU/Linux играет одну из центральных ролей? Посмотрим на это с исторической перспективы.



Источник
Загрузка...
2 месяца назад
#

Как мы разработали девкит Librem 5 полностью на свободном ПО




От переводчика: Librem 5 (на рендере) — защищённый смартфон под Linux от компании Purism, который создаётся на максимально открытом железе и софте за счёт краудфандинга.

Сегодня расскажем о разработке Librem 5 Developer Kit и о том, как мы использовали в его разработке только на 100% свободные программы.

Дизайн девкита опубликован на условиях лицензии GNU GPLv3+, аппаратный репозиторий Git
лежит здесь.

KiCad — очевидный выбор EDA

Перед началом разработки было не совсем ясно, по какому пути разрабатывать проект. В частности, какой инструмент выбрать для
автоматизации проектирования электроники (EDA). Изначально идея состояла в изменении платы i.MX 6QP OpenRex от FEDEVEL для соответствия всем требованиям к девкиту, но мы сразу столкнулись с двумя основными проблемами: там использовался архаичный процессор i.MX 6QP, а ещё хуже, что плата была разработана в проприетарной системе Altium. К счастью, у меня уже был опыт проектирования электроники с помощью EDA KiCad, поэтому мы сумели создать дизайн девкита, используя на 100% свободное ПО.

Источник
Загрузка...
2 месяца назад
#

Пишем свой язык программирования, часть 2: промежуточное представление программ



image

Введение

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

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

В первой части (линк:
habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.

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

Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.

Сайт

Репозиторий

Источник
Загрузка...
Den
2 месяца назад
#

Упрощаем написание резюме разработчика



Проблема

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





Для тех, кому не интересна лирика, и кто хочет сразу перейти к делу — то вперед на github. А для тех, кому важна механика и история проекта — собственно и посвящена статья.



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



Источник
Загрузка...
2 месяца назад
#

End-to-end тестирование микросервисов c Catcher



Добрый день! Я хотел бы представить новый инструмент для end-to-end тестирования микросервисов – Catcher
logo



Зачем тестировать?

Зачем нужно e2e тестирование? Мартин Фаулер рекомендует избегать его в пользу более простых тестов.



Источник
Загрузка...
2 месяца назад
#

Вышел релиз командного интерпретатора Bash 5.0



Вчера была опубликована новая версия командного интерпретатора
Bash 5.0, которая разрабатывалась около двух с половиной лет. Кроме того, вышел релиз библиотеки
readline 8.0, которая имеет непосредственное отношение к командной строке.

Повышение номера версии Bash обусловлено рядом изменений, которые нарушают обратную совместимость. К таким изменениям относятся переработка кода, связанного с обработкой ссылочных переменных nameref, обновление подхода к использованию переменных readline 8.0. Для того, чтобы установить Bash 5.0, нужна библиотека readline 8.0, в противном случае обновиться не получится.

Источник
Загрузка...
2 месяца назад
#

Фаззинг в стиле 1989 года



С наступлением 2019 года хорошо вспомнить прошлое и подумать о будущем. Оглянемся на 30 лет назад и поразмышляем над первыми научными статьями по фаззингу:
«Эмпирическое исследование надёжности утилит UNIX» и последующей работой 1995 года
«Пересмотр фаззинга» того же автора
Бартона Миллера.

В этой статье попытаемся найти баги в современных версиях Ubuntu Linux, используя
те же самые инструменты, что и в оригинальных работах по фаззингу. Вы должны прочитать оригинальные документы не только для контекста, но и для понимания. Они оказались весьма пророческими в отношении уязвимостей и эксплоитов на десятилетия вперёд. Внимательные читатели могут заметить дату публикации оригинальной статьи: 1990 год. Ещё более внимательные заметят копирайт в комментариях исходников: 1989.

Источник
Загрузка...
2 месяца назад
#

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений



image

Введение

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

Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи:

Часть 1: пишем языковую ВМ

Часть 2: промежуточное представление программ

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

Также мне стоит разместить сразу ссылку на статью о проекте, который был написан мной ранее и на основе которого идет весь этот разбор полётов:
Клац сюды. С ним пожалуй стоит ознакомиться первым делом.

И немного о проекте:


Небольшой сайт проекта


GitHub репозиторий

Ну и также скажу сразу, что все написано на Object Pascal, а именно — на FPC.

Итак, начнем.

Источник
Загрузка...
2 месяца назад
#

Вышел GitLab 11.6 с бессерверными функциями и кластерами Kubernetes для групп



Картинка для привлечения внимания



Мы рады представить релиз GitLab 11.6, в котором мы расширили возможности бессерверной архитектуры на GitLab и добавили групповые кластеры Kubernetes для упрощения работы с нативной облачной инфраструктурой.



Источник
Загрузка...
2 месяца назад
#

Spacewalk на Рождество



Привет, Хабр!

Незадолго до прихода Рождества, в IT-отделе было решено изучить Spacewalk, — это Red Hat система, бесплатный аналог Satellite, для централизованного управления конфигурациями, обновлений систем, удобной поддержкой всего серверного парка.

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

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

Спустя две недели работы все полученные мной знания были внесены во внутренний аналог Confluence, а свободный выходной подтолкнул меня на написание статьи на Хабр.

Источник
Загрузка...
Den
2 месяца назад
#

Rust новости #4 (декабрь 2018)



Поскольку праздники кончились, предлагаю вашему вниманию субъективную подборку ржавых новостей за декабрь. В этой подборке: безумие с растом, страшен ли раст, волна пророчеств, Rust 2018, Rust Analyzer.



КДПВ



Rust 1.31 & Rust 2018

Самое важное событие декабря — выпуск Rust 1.31 и Rust 2018, конечно. Туда очень много всего вошло:



редакция 2018, нелексические времена жизни, изменения системы модулей, дополнительные правила вывода времен жизни, const fn, новые инструменты, инструментальные проверки качества кода, документация, новый веб-сайт, улучшения в cargo.

Изменений так много, что обзор всех не получилось запихнуть в один пост, так что через несколько дней были опубликованы вспомогательные заметки:





Также, имеет смысл полистать мозиловский хорошо структурированный обзор/ликбез 2018й редакции языка: Rust 2018 is here… but what is it? (перевод, обсуждение).



Источник
Загрузка...
2 месяца назад
#

AWS показал Open Source средний палец



От переводчика: мне кажется, заголовок слегка неточный и на самом деле средний палец показали ребятам из MongoDB, которая теперь не очень то и Open Source.





Сегодня, Amazon AWS запустил продукт DocumentDB — новую базу данных, совместимую с API MongoDB. Компания описывает DocumentDB так — «быстрая, масштабируемая и отказоустойчивая документная база данных, разработанная так, чтобы быть совместимой с вашими существующими приложениями и инструментами на MongoDB». Фактически, это полная замена MongoDB, развёрнутая в AWS, которая не использует код MongoDB.



В AWS утверждают, что, хотя MongoDB отлично справляется со своими задачами, их клиентам всё же трудно создавать быстрые и высокодоступные приложения на платформе с открытым исходным кодом, которые смогут масштабироваться до нескольких терабайт и сотен тысяч операций чтения и записи в секунду. Поэтому компания создала свою собственную базу данных документов, но сделала ее совместимой с API MongoDB 3.6, распространяющимся под лицензией Apache 2.0.



Источник
Загрузка...
2 месяца назад
#

Используем rcm для деплоя конфигурации в любую папку



И снова, здравствуйте. Неделю (эта статья о-очень долго мариновалась в бэклоге) Какое-то время назад я рассказал, как использовать rcm для обычного управления конфигурацией. У нас в компании есть модуль puppet, распространяющий персональные настройки пользователя по всем хостам, на которые у него есть доступ. Соответственно, хочется следующего:



  • Иметь собственные настройки для всего, чем я пользуюсь (vim, zsh, git, etc..)

  • Обновлять их по мере обновления в репозитории dotfiles

  • Всё это — без лишних телодвижений



Инструменты

Всё, что нужно, уже используется мною, а именно:



  • rcm

  • git

  • tar



Источник
Загрузка...
2 месяца назад
#

Computer Vision Annotation Tool: универсальный подход к разметке данных



Нижегородский офис компании Intel, помимо прочего, занимается разработкой алгоритмов компьютерного зрения на основе глубоких нейронных сетей. Многие наши алгоритмы публикуются в репозитории
Open Model Zoo. Для обучения моделей требуется большое число размеченных данных. Теоретически, существует много способов подготовить их, однако наличие специализированного программного обеспечения многократно ускоряет этот процесс. Так, в целях повышения эффективности и качества разметки, мы разработали собственный инструмент –
Computer Vision Annotation Tool (CVAT).



Источник
Загрузка...
2 месяца назад
#

Пишем собственную виртуальную машину



В этом руководстве я расскажу, как написать собственную виртуальную машину (VM), способную запускать программы на ассемблере, такие как
2048 (моего друга) или
Roguelike (моя). Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера и как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться немного страшным, но я обещаю, что тема удивительно простая и поучительная.

Окончательный код составляет около 250 строк на C. Достаточно знать лишь основы C или C++, такие как
двоичная арифметика. Для сборки и запуска подходит любая Unix-система (включая macOS). Несколько API Unix используются для настройки ввода и отображения консоли, но они не являются существенными для основного кода. (Реализация поддержки Windows приветствуется).

Примечание: эта VM —
грамотная программа. То есть вы прямо сейчас уже читаете её исходный код! Каждый фрагмент кода будет показан и подробно объяснён, так что можете быть уверены: ничего не упущено. Окончательный код создан
сплетением блоков кода. Репозиторий проекта
тут.


Источник
Загрузка...
3 4 6 7

Авторизация

Пользователи

gydman
Ivan Lavkov
Андрей Подольский
Kumskov
Juan
Tutu
naikdij88
NewEXE
Георгiй Москвитинъ

GeekBrains

КАРКАМ

Нетология