Рубрика «linux»

30 лет Линукса. Интервью с Линусом Торвальдсом. Часть 2 - 1

Первая часть интервью.

Распределенная система контроля версий Git

Дж.А.: Linux – только первая из ваших работ, глобально повлиявших на мир опенсорса. В 2005 году вы также создали Git, исключительно популярную распределенную систему контроля версий. Вы быстро перенесли дерево исходников ядра Linux из проприетарного хранилища Bitkeeper в новоиспеченный Git, который сделали опенсорсным, и в том же году передали поддержку Git Джунио Хамано. История этих событий увлекательна, расскажите, что побудило вас передать этот проект так быстро, и как вы нашли и выбрали Джунио? 

ЛТ: Итак, ответ на этот вопрос состоит из двух частей.

30 лет Линукса. Интервью с Линусом Торвальдсом. Часть 2 - 2

Во-первых, я совершенно не хотел создавать новую систему контроля исходников.  Linux был создан, так как мне очень интересен низкоуровневый интерфейс между аппаратным и программным обеспечением — в принципе, эта работа была выполнена из любви к предмету и личного интереса. Напротив, Git был создан из необходимости: не потому, что я интересуюсь контролем исходников, а потому что большинство имевшихся на тот момент систем контроля версий вызывали у меня подлинное отвращение, а та единственная, что показалась мне наиболее терпимой и при этом действительно весьма хорошо сочеталась с моделью разработки Linux (BitKeeper) стала несостоятельной.
Читать полностью »

Сегодня я хочу рассказать о том, как командные оболочки zsh и fish обнаруживают пропущенные символы перевода строки и выделяют соответствующие места в выводе программ, делая это в условиях, когда модель программирования Unix не даёт им возможности исследовать то, что выводят программы.

Большинство командных оболочек, включая bash, ksh, dash и ash, выводят приглашение командной строки в той позиции, в которой остался курсор после завершения работы предыдущей команды.

Простой, но умный ход, применяемый в zsh и fish для решения проблемы пропущенного символа перевода строки - 1

То, что приглашение (почти) всегда выводится в известном всем месте, в самой левой колонке следующей строки, объясняется тем фактом, что Unix-программы единодушно сотрудничают в деле размещения курсора именно в этой позиции после завершения их работы.
Читать полностью »

30 лет Линукса. Интервью с Линусом Торвальдсом. Часть 1 - 1

Тридцать лет назад Линусу Торвальдсу был 21 год, он был студентом Хельсинского университета. Именно тогда он впервые выпустил ядро Linux. Анонс этого события начинался так: «Я делаю (свободную) операционную систему (просто в качестве хобби, большой и профессиональной она не будет…)». Три десятилетия спустя все топ-500 суперкомпьютеров в мире работают под Linux, равно как и более 70% всех смартфонов. Linux явно стал и большим, и профессиональным. 
Читать полностью »

image

Прошлое

Начнем с составления краткого списка основных причин неудач линксфонных проектов:

  • Openmoko: Финансовые вопросы,
  • Nokia (Maemo/Meego): Изменение корпоративной стратегии (новый генеральный директор),
  • HP (WebOS): Изменение корпоративной стратегии (новый генеральный директор),
  • Mozilla (Firefox OS): Изменение «Корпоративной» стратегии (смещение фокуса на IOT),
  • Canonical (Ubuntu Touch): Изменение корпоративной стратегии (смещение фокуса на облако и прибыльность).

Это, конечно, сильное упрощение и я признаю, что реальная история в каждом случае намного сложнее. Кроме того, трудно сравнивать нынешних игроков, PINE64 и Purism (и большое разнообразие комьюнити-проектов), с компаниями размером с Nokia, HP или даже Mozilla, или Canonical. Сравнение с Openmoko, скорее всего, работает лучше всего.
Читать полностью »

Сразу предупреждаю: не копируйте примеры кода из этой статьи и не запускайте их в своей командной оболочке.

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

Обман обманщиков: форк-бомба нового уровня - 1

Часто это принимает форму грубо замаскированных команд, вроде той, что показана ниже. Её запуск приведёт к выполнению в текущей директории команды rm -rf *, которая всё удалит. Вот эта команда:

$(echo cm0gLXJmICoK | base64 -d)

Много лет назад я наткнулся на людей, которые играли в такие игры, и решил их проучить.
Читать полностью »

Почему -usr-bin-test на 4Кб меньше, чем -usr-bin-[? - 1

Пользователь с Reddit под ником mathisweirdaf поделился интересными наблюдениями:

 $ ls -lh /usr/bin/{test,[}
-rwxr-xr-x 1 root root 59K  Sep  5  2019 '/usr/bin/['
-rwxr-xr-x 1 root root 55K  Sep  5  2019  /usr/bin/test

[ и test должны быть псевдонимами друг друга, и все же между исполняющими их файлами из GNU coreutils наблюдается разница в 4Кб. Почему?Читать полностью »

tl;dr: форматы файлов Netpbm позволяют легко выводить пиксели, используя только текстовый ввод-вывод.

Генерация изображений с помощью echo-printf в 5 строчках кода без библиотек и заголовков - 1

Вот весь генерирующий это изображение скрипт bash без зависимостей:

#!/bin/bash
exec > my_image.ppm    # Все инструкции echo будут писать в этот файл
echo "P3 250 250 255"  # формат, ширина, высота, максимальное значение цвета
for ((y=0; y<250; y++)) {
  for ((x=0; x<250; x++)) {
    echo "$((x^y)) $((x^y)) $((x|y))" # r, g, b
  }
}

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

Энтузиасты собирают ноутбук на электронной бумаге. Выбираем дисплей и шасси - 1

С тех пор, как корпорация E Ink в 1997 году запатентовала технологию отображения информации на основе электрофореза и зарегистрировала соответствующий бренд, разные производители покупали лицензии и интегрировали e-ink в свои устройства. Первыми стали читалки Sony Librie в 2004 году и Amazon Kindle в 2007-м. Эти дисплеи не мерцают в принципе, не утомляют глаза и практически не потребляют энергию во время отображения картинки, так что идеально подходят для чтения.

С 1997 года технология сильно усовершенствовалась. Дисплеи увеличились, появился цвет, уменьшился показатель времени обновления экрана. В последние годы наконец-то вышли смартфоны и планшеты с цветной бумагой (Hisense, Onyx Boox).

Но за четверть века никто так и не сделал нормальный ноутбук. Почему?
Читать полностью »

Пссст, %username%, Ubuntu 21.04 уже здесь - 1

Сегодня одни хорошие новости на Хабре. Так, марсолет совершил свой второй полет, а мы почти сразу получили шикарное видео этого события. Ну и к вечеру еще новость — Canonical вот только что зарелизила Ubuntu 21.04 «Hirsute Hippo» с нативной интеграцией Microsoft Active Directory, дефолтным Wayland и SDK для Flutter. Кроме того, Canonical и Microsoft объявили об оптимизации производительности Microsoft SQL Server и совместной поддержке продукта.

«Интеграция Native Active Directory и сертифицированный Microsoft SQL Server на Ubuntu — приоритетные нововведения для корпоративных пользователей. Ну а для разработчиков Ubuntu 21.04 предоставляет Wayland и Flutter», — заявил Марк Шаттлворт, СЕО Canonical. Давайте посмотрим, что там еще за сюрпризы нас ожидают.
Читать полностью »

Microsoft начал тестирование поддержки запуска GUI-приложений Linux в Windows - 1

Корпорация Microsoft запустила тестирование запуска Linux-приложений с графическим интерфейсом в ОС Windows. Реализовано это на основе подсистемы WSL2 (Windows Subsystem for Linux), которую компания разрабатывает много месяцев. Отмечается, что приложения полностью интегрируются с рабочим столом Windows, включая размещение ярлыков в меню Start, воспроизведение звука, запись с микрофона, аппаратное ускорение OpenGL. Также реализовано отображение информации о ПО в панели задач, между программами можно переключаться по Alt+Tab, данные между приложениями Linux и Windows можно копировать при помощи буфера обмена.

Интерфейс Linux-приложений на основной рабочий стол ОС Windows выводится при помощи композитного менеджера RAIL-Shell. Он использует протокол Wayland и основан на кодовой базе Weston. Вывод реализован посредством бэкенда RDP-RAIL (RDP Remote Application Integrated Locally), который не выполняет отрисовку рабочего стола, а перенаправляет отдельные поверхности по каналу RDP RAIL для отображения на основном рабочем столе Windows. X11-приложения запускаются при помощи XWayland.
Читать полностью »


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