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

Taiga UI — это огромная библиотека компонентов на Angular. Мы в Тинькофф разрабатывали ее внутри пару лет, прежде чем выпустили вторую, мажорную версию на публику. С тех пор прошел год, и я хочу подвести итоги и обозначить планы на 2022 год.

Taiga UI: год в Open Source - 1

Как нам в Open Source

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

В начале января разработчик библиотек faker.js и colors.js намеренно «испортил» собственные программные продукты. Он добавил в код бесконечный цикл, который выводил в консоль бессмыслицу. В результате нарушилась работа тысяч приложений по всему миру, в том числе у крупных облачных провайдеров. Таким необычным (но крайне эффективным) образом инженер хотел привлечь внимание к проблеме финансирования и уважения к труду open source разработчиков. 

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

Читать полностью »
Вроде проблема известная, а подробного поста нет. Непорядок! Представим вы купили где-то на барахолке старый объектив Sigma с креплением Canon EF, которые использовались ещё с плёночными фотоаппаратами Canon и поставили на свой цифровой фотоаппарат Canon. Объектив работает — автофокус шевелится и на открытой диафрагме снимки получаются. Но при попытке сфотографировать с прикрытой диафрагмой фотоаппарат выдаёт ошибку Err 01.

Чипуем старый объектив Sigma для работы с современными камерами Canon - 1
Читать полностью »

Firefox остался один - 1

Кажется, мы стоим на пороге монополии одного браузерного движка. Вроде бы браузеров много: Chrome, Firefox, Edge, Safari, Brave, Opera, Vivaldi, Tor и десятки других… Но если присмотреться, картина вовсе не такая разнообразная. Большинство из них сделано на одном движке — Chromium. Даже Microsoft убила Internet Explorer и перешла на Chromium. Это значит, что мы возвращаемся к монополии, как в начале 2000-х годов. Только тогда это была монополия Microsoft, а сейчас — Google. Возможно, единственная сохранившаяся альтернатива — это Mozilla Firefox. Читать полностью »

FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года - 1

Всем привет!

Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.

Главные темы нового выпуска:

  1. Новости о распространении и борьбе с катастрофической уязвимостью в Log4j.
  2. Аналитические статьи о катастрофической уязвимости в Log4j.
  3. Конференция «Базальт СПО» — «СПО: от обучения до разработки 2022».
  4. Январский рейтинг языков программирования TIOBE.
  5. «Базальт СПО» получил грант РФРИТ на развитие ОС «Альт».
  6. Сравнение производительности игр при использовании Wayland и X.org.
  7. Наиболее важные события 2021 года по версии OpenNET.
  8. Ларри Лессиг о создании Creative Commons 20 лет назад: «Мы были лучше, чем казались. Раньше наша доброта не была видна».
  9. Новогоднее обращение от председателя совета директоров Linux Foundation.
  10. «Open Source 2022: год осознания».
  11. Число уязвимостей WordPress более чем удвоилось в 2021 году, и 77% из них являются эксплуатируемыми.
  12. 30 команд, необходимых для освоения интерфейса командной строки Git.
  13. «Python: Явное лучше неявного».
  14. Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектах.

И многое другое…


В составлении дайджеста мне помогали qark, invasy и 6 пользователей через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.

Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→].

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

Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость.

Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName().

      flat  flat%   sum%        cum   cum%
     8.84s  6.28%  6.28%     57.85s 41.10%  reflect.(*rtype).MethodByName
     7.93s  5.63% 11.92%      8.50s  6.04%  reflect.name.readVarint
     7.56s  5.37% 17.29%    111.79s 79.43%  reflect.Value.call
     7.53s  5.35% 22.64%     23.33s 16.58%  runtime.mallocgc
     7.29s  5.18% 27.82%     16.10s 11.44%  reflect.name.name

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

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

Команда Rust рада представить новую версию языка — 1.58.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.58.0 вам достаточно выполнить команду:

rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.58.0 на GitHub.

Что стабилизировано в 1.58.0

В Rust 1.58 появились захваченные идентификаторы в форматируемых строках, изменился путь поиска в Windows для Command, в стандартной библиотеке стало больше аннотаций #[must_use], а также были стабилизированы некоторые функции.

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

С изучением языков возникает проблема переключения раскладок клавиатуры. Когда два языка все просто, жамкаешь ALT+SHIFT (или что там у вас) и переключаешься на следующий язык. И ты всегда знаешь на какой именно язык переключился. Когда раскладок становится хотя бы 3 это уже вызывает проблемы. Потому что нажать ALT+SHIFT нужно один или несколько раз и непонятно сколько именно, не посмотрев в угол экрана

Я использую 6 языков, но раскладок у меня 4. Потому что для английского, испанского и немецкого, используется одна English international with AltGR dead keys. Скриншот из Ubuntu. В Windows она тоже есть.

Читать полностью »
Бомба Log4j и кризис опенсорса - 1

Учитывая стремительную цифровизацию бизнеса и развитие наших мобильных и веб-платформ, вопросы информационной безопасности для МВидео-Эльдорадо крайне важны. Наверняка почти все в курсе про эпическую уязвимость в библиотеке Apache Log4j. Она поддерживает выполнение внешнего кода для интеллектуального парсинга логов, куда попадает и пользовательский ввод. Грубо говоря, одна строчка в адресной строке браузера у школьника кладёт сервер, если эту строчку скушает логгер (на многих серверах записываются в логи все HTTP-запросы).

Уязвимость в библиотеке сидела с 2013 года, но заметили только сейчас. А когда начали копать глубже, то обнаружили пропасть, дно которой не просматривается вообще.

Спустя месяц можно с холодной головой осмыслить произошедшее и подумать, что эта история означает для всего движения Open Source.Читать полностью »

Введение

Моя первая статья на Хабре, не судите строго, надеюсь содержание будет как минимум интересным!

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

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


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