LINUX.ORG.RU

Emacs


227

6

Всего сообщений: 42

Emacs 29.1

Группа GNU's Not Unix

Состоялся первый и долгожданный стабильный релиз Emacs из 29 ветки.

В этой версии интегрирована знаменитая ветка Pure GTK (PGTK), реализующая графический интерфейс на базе GTK3 без привязки к X11. Таким образом, это первый официальный релиз с нативной поддержкой Wayland.

Отдельно стоит отметить интеграцию модуля подсветки синтаксиса tree-sitter как альтернативу встроенной системе font-lock. Парсеры tree-sitter вместо регулярных выражений используют более точную GLR-грамматику и подгружаются из нативных библиотек, не привязанных к редактору. Среди конкурентов, активно развивающих tree-sitter, стоит отметить NeoVim.

Другие изменения:

  • Интегрирован Language Server клиент Eglot.
  • Интегрирован популярный модуль use-package.
  • Для X задействован XInput 2 и улучшен drag-n-drop.
  • Добавлен модуль для работы с sqlite3.
  • Поддержка изображений в формате WebP.
  • Ускорена работа с очень длинными строками.
  • Плавная прокрутка при использовании тачпада.
  • Улучшена поддержка смайлов и Unicode 15.0.
  • Реализована двойная буферизация на Windows.
  • Множество мелких исправлений.

>>> Подробности

 , , ,

snizovtsev
()

Emacs 28.1

Группа Linux General

4 апреля состоялся релиз Emacs 28.1.
В новой версии добавлены возможности:

  • компиляция Lisp-файлов в машинный код;
  • поддержка Harfbuzz при формировании текста и отрисовка с помощью Cairo;
  • улучшенная поддержка отображения Emoji и их последовательное отображение;
  • minor mode для контекстного меню;
  • отображение по умолчанию совпадающих круглых скобок;
  • множество улучшений и дополнительных расширений для project.el;
  • новая система документирования групп функций.

>>> Подробности

 , ,

Oldboy
()

CIDER 1.0

CIDER 1.0
Группа Open Source

Вышла первая мажорная версия CIDER – cреды интерактивной разработки на языке Clojure в Emacs, аналогичной SLIME для Common Lisp.

Список изменений невелик, однако это очень важная веха в развитии проекта, который также начиная с этой версии переходит на SemVer.

( читать дальше... )

>>> Подробности

 , ,

Princesska
()

Emacs 27.1

Группа GNU's Not Unix

Свершилось, братие и сестрие!

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

В данном выпуске:

  • встроенная поддержка чисел целых чисел произвольного размера (в Emacs встроен великолепный калькулятор с поддержкой RPN и алгебраических вычислений)
  • встроенная поддержка JSON
  • для рендеринга шрифтов теперь используется библиотека HarfBuzz
  • добавлена поддержка табов
  • работа с изображениями без использования ImageMagick
  • Lexical-binding используется по-умолчанию (если вы не писали на Lisp данный пункт можно смело игнорировать)
  • поддержка дополнительного конфига для ранней инициализации (это может быть интересно пользователям spacemacs)
  • поддержка спецификаций XDG на размещение файлов в домашней директории (наконец-то!)

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

Ценители архи-боянов приглашаются в комментарии - делать ставки кто первый «пошутит» про отсутствие в GNU/Emacs текстового редактора: когда ещё доведётся услышать шутку, которая старше большинства посетителей ЛОРа?

>>> Подробности

 , , ,

zabbal
()

Вышел GNU Emacs 26.3

Группа GNU's Not Unix

Состоялся минорный релиз GNU Emacs 26.3 - текстового редактора семейства Emacs.

Список изменений:

  • Добавлена опция help-enable-completion-auto-load, позволяющая отключить функцию, добавленную в релизе Emacs 26.1, загружающую файлы во время авто-дополнения по C-h f и C-h v;
  • Недавно назначенная точка юникода «U+32FF» была внесена в базу данных символов юникода Emacs;
  • Это в основном служебный релиз, который содержит новый GPG ключ для пакетов из GNU ELPA.

>>> Официальное объявление

 ,

suxin
()

Free as in Freedom на русском: Глава 7. Дилемма абсолютной морали

Группа Документация

Free as in Freedom на русском: Глава 1. Роковой принтер

Free as in Freedom на русском: Глава 2. 2001: Хакерская одиссея

Free as in Freedom на русском: Глава 3. Портрет хакера в юности

Free as in Freedom на русском: Глава 4. Развенчай бога

Free as in Freedom на русском: Глава 5. Ручеёк свободы

Free as in Freedom на русском: Глава 6. Коммуна Emacs

Дилемма абсолютной морали

В половину первого ночи 27 сентября 1983 года в Usenet-группе net.unix-wizards появилось необычное сообщение за подписью rms@mit-oz. Сообщение называлось коротко и крайне заманчиво: «Новая реализация UNIX». Но вместо некой готовой новой версии Unix читатель обнаруживал призыв:

В этот День Благодарения я начинаю писать новую, полностью совместимую с Unix операционную систему, которая будет называться GNU (GNU’s Not Unix). Я буду свободно раздавать её всем желающим. Мне очень нужны ваше время, деньги, код, оборудование – любая помощь.

В глазах опытного Unix-разработчика сообщение выглядело смесью идеализма с высоким самомнением. Автор не просто брался воссоздать с нуля целую операционную систему, весьма развитую и мощную, но ещё и улучшить её. Система GNU должна была вмещать в себя все нужные компоненты вроде текстового редактора, командной оболочки, компилятора, а также «ряд других вещей». Обещались и крайне привлекательные возможности, которых не было в существующих Unix-системах: графический интерфейс на языке программирования Lisp, устойчивая к сбоям файловая система, сетевые протоколы на основе сетевой архитектуры МТИ.

«GNU сможет запускать Unix-программы, но не будет идентичен системе Unix, – писал автор, – мы сделаем все нужные улучшения, которые назрели за годы работы в различных операционных системах».

Предвидя скептическую реакцию на своё сообщение, автор дополнил его кратким автобиографическим отступлением под заголовком: «Кто я такой?»:

Я Ричард Столлман, создатель оригинального редактора EMACS, один из клонов которого вы наверняка встречали. Работаю в Лаборатории ИИ Массачусетского технологического института. Имею большой опыт разработки компиляторов, редакторов, отладчиков, командных интерпретаторов, операционных систем ITS и Lisp Machine. Реализовал независимую от терминалов поддержку экрана в ITS, а также отказоустойчивую файловую систему и две оконные системы для Lisp-машин.

Так уж вышло, что затейливый проект Столлмана стартовал не в День Благодарения, как обещалось. Только в январе 1984 года Ричард с головой погрузился в разработку программного обеспечения в стиле Unix. С точки зрения системного архитектора ITS, это было всё равно что перейти от возведения мавританских дворцов к строительству пригородных торговых центров. Впрочем, разработка Unix-системы открывала и преимущества. ITS, при всей своей мощи, имела слабое место – работала лишь на компьютере PDP-10 от компании DEC. В начале 80-х годов Лаборатория отказалась от PDP-10, и ITS, которую хакеры сравнивали с оживлённым городом, превратилась в город-призрак. Unix же был изначально разработан с прицелом на переносимость с одной компьютерной архитектуры на другую, так что подобные беды ему не грозили. Разработанный младшими научными сотрудниками AT&T, Unix проскользнул мимо корпоративных радаров и нашёл спокойное пристанище в некоммерческом мире научных центров. Имея меньше ресурсов, чем их собратья-хакеры в МТИ, разработчики Unix приспособили свою систему к работе на зоопарке разносортного оборудования. Главным образом – на 16-битной PDP-11, которую хакеры Лаборатории считали непригодной для серьёзных задач, но также и на 32-битных мейнфреймах вроде VAX 11/780. К 1983 году такие компании, как Sun Microsystems, создали относительно компактные настольные компьютеры – «рабочие станции», сравнимые по мощности со старым мейнфреймом PDP-10. На этих рабочих станциях тоже поселился вездесущий Unix.

Переносимость Unix обеспечивалась дополнительным слоем абстракции между приложениями и оборудованием. Вместо того, чтобы писать программы в машинных кодах конкретного компьютера, как это делали хакеры Лаборатории, разрабатывая программы для ITS на PDP-10, разработчики Unix использовали высокоуровневый язык программирования С, который не был привязан к конкретной аппаратной платформе. При этом разработчики сосредоточили внимание на стандартизации интерфейсов, через которые части операционной системы взаимодействовали друг с другом. В итоге получилась система, где любую часть можно было переделать, не затрагивая все остальные части и не нарушая их работу. И чтобы перенести систему с одной аппаратной архитектуры на другую, тоже достаточно было переделать только одну часть системы, а не переписывать её всю целиком. Специалисты по достоинству оценили такой фантастический уровень гибкости и удобства, поэтому Unix быстро распространился по компьютерному миру.

Столлман решил создать систему GNU из-за кончины ITS, любимого детища хакеров Лаборатории ИИ. Смерть ITS была ударом для них, в том числе и для Ричарда. Если история с лазерным принтером Xerox открыла ему глаза на несправедливость собственнических лицензий, то кончина ITS подтолкнула его от неприятия закрытого софта к активному противодействию ему.

Причины гибели ITS, как и её код, уходили далеко в прошлое. К 1980 году большинство хакеров Лаборатории уже работали над Lisp-машиной и операционной системой для неё.

Lisp – элегантный язык программирования, прекрасно подходящий для работы с данными, структура которых заранее неизвестна. Его создал пионер исследований искусственного интеллекта и создатель самого термина «искусственный интеллект» Джон Маккарти, который работал в МТИ во второй половине 50-х годов. Название языка – сокращение от «LISt Processing» или «обработка списков». После того, как Маккарти ушёл из МТИ в Стэнфорд, хакеры Лаборатории несколько изменили Lisp, создав его местечковый диалект MACLISP, где первые 3 буквы обозначали проект MAC, благодаря которому, собственно, и появилась Лаборатория ИИ в МТИ. Под руководством системного архитектора Ричарда Гринблатта хакеры Лаборатории разработали Lisp-машину – специальный компьютер для выполнения программ на языке Lisp, а также операционную систему для этого компьютера – тоже, конечно, написанную на Lisp.

К началу 80-х годов конкурирующие группы хакеров основали две компании по производству и продаже Lisp-машин. Компания Гринблатта называлась Lisp Machines Incorporated или просто LMI. Он рассчитывал обойтись без внешних инвестиций и создать чисто «хакерскую компанию». Но большинство хакеров присоединились к Symbolics, обычному коммерческому стартапу. В 1982 году они уже полностью покинули МТИ.

Тех, кто остался, можно было по пальцам одной руки пересчитать, так что программы и машины чинились всё дольше и дольше, или не чинились вовсе. И что хуже всего, по словам Столлмана – в Лаборатории начались «демографические изменения». Хакеры, которые и раньше были в меньшинстве, почти исчезли, оставив Лабораторию в полное распоряжение преподавателей и студентов, чьё отношение к PDP-10 было откровенно неприязненным.

В 1982 году Лаборатория ИИ получила замену своему 12-летнему PDP-10 – DECSYSTEM 20. Приложения, написанные для PDP-10, работали на новом компьютере без проблем, потому что DECSYSTEM 20 был, по сути, обновлённым PDP-10, но вот прежняя операционная система совсем не подходила – ITS нужно было портировать на новый компьютер, а значит – почти полностью переписать. И это в то время, когда из Лаборатории ушли почти все хакеры, которые могли бы этим заняться. Так что на новом компьютере быстро воцарилась коммерческая операционная система Twenex. Немногие хакеры, что остались в МТИ, могли только смириться с этим.

«Без хакеров, которые потянули бы создание и сопровождение операционной системы, мы обречены, – говорили сотрудники факультета и студенты, – нам нужна коммерческая система, которую поддерживает какая-нибудь компания, чтобы она сама решала проблемы с этой системой». Столлман вспоминает, что этот аргумент оказался жестокой ошибкой, но в тот момент он звучал убедительно.

Поначалу хакеры видели в Twenex очередное воплощение авторитарной корпократии, которое так и хотелось сломать. Даже в названии отразилась неприязнь хакеров – вообще-то, система называлась TOPS-20, указывая на преемственность с TOPS-10, тоже коммерческой системой DEC для PDP-10. Но архитектурно TOPS-20 не имела ничего общего с TOPS-10. Её сделали на основе системы Tenex, которую компания Bolt, Beranek and Newman разработала для PDP-10. . Называть систему «Twenex» начал Столлман, просто чтобы не называть её TOPS-20. «Системе было далеко до топовых решений, так что называть её официальным именем язык не поворачивался, – вспоминает Столлман, – поэтому я вставил в ‘Tenex’ букву ‘w’, чтобы получилось ‘Twenex’». (Это название обыгрывает слово «twenty», т.е. «двадцать»)

Компьютер, на котором работал Twenex/TOPS-20, иронично называли «Оз». Дело в том, что DECSYSTEM 20 требовал маленькую машину PDP-11 для работы терминала. Один хакер, впервые увидев подключение PDP-11 к этому компьютеру, сравнил это с пафосным представлением Волшебника из страны Оз. «Я великий и ужасный Оз! – продекламировал он. – Только не смотрите на мелюзгу, от которой я работаю».

А вот в операционной системе нового компьютера не было уже ничего смешного. Безопасность и контроль доступа были встроены в Twenex на базовом уровне, и её утилиты с приложениями тоже были разработаны с учётом безопасности. Снисходительные шутки над системами безопасности Лаборатории превратились в серьёзную битву за управление компьютером. Администраторы утверждали, что без систем безопасности Twenex будет нестабильна и неустойчива к ошибкам. Хакеры уверяли, что стабильности и надёжности куда быстрее можно достигнуть редактированием исходного кода системы. Но их в Лаборатории было уже так мало, что к ним никто не прислушивался.

Хакеры подумали, что обойти ограничения безопасности можно, выдав всем пользователям «рулевые привилегии» – повышенные права, дающие возможность делать многое из того, что обычному пользователю запрещено. Но в этом случае любой пользователь мог отобрать «рулевые привилегии» у любого другого пользователя, и тот не мог вернуть их себе за неимением прав доступа. Поэтому хакеры решили получить контроль над системой, отобрав «рулевые привилегии» у всех, кроме себя.

Подбор паролей и запуск отладчика во время загрузки системы ничего не дали. Потерпев неудачу в «государственном перевороте», Столлман разослал сообщение всем работникам Лаборатории.

«До сих пор аристократы были повержены, – писал он, – но теперь они взяли верх, и попытка захватить власть не увенчалась успехом». Ричард подписал сообщение: «Radio Free OZ», чтобы никто не догадался, что это он. Отличная маскировка, если учесть, что все в Лаборатории знали об отношении Столлмана к системам безопасности и его издевательствах над паролями. Впрочем, отвращение Ричарда к паролям было известно далеко за пределами МТИ. На компьютеры Лаборатории под учётной записью Столлмана ходил чуть ли не весь ARPAnet – прообраз интернета тех времён. Таким «туристом» был, например, Дон Хопкинс, программист из Калифорнии, который через хакерское сарафанное радио узнал, что войти в прославленную систему ITS в МТИ можно просто введя 3 буквы инициалов Столлмана в качестве логина и пароля.

«Я бесконечно благодарен МТИ за то, что я и многие другие люди могли свободно пользоваться их компьютерами, – говорит Хопкинс, – это очень много значило для всех нас».

Эта «туристическая» политика длилась много лет, пока жила система ITS, и руководство МТИ смотрело на неё снисходительно. . Но когда машина Оз стала основным мостом из Лаборатории в ARPAnet, всё изменилось. Столлман всё так же предоставлял доступ к своему аккаунту под известными логином и паролем, но администраторы потребовали от него изменить пароль и никому его больше не давать. Ричард, ссылаясь на свою этику, вообще отказался работать на машине Оз..

«Когда пароли начали появляться на компьютерах Лаборатории ИИ, я решил следовать своему убеждению, что паролей быть не должно, – говорил позже Столлман, – а поскольку я считал, что компьютерам не нужны системы безопасности, я не должен был поддерживать эти меры по их внедрению».

Отказ Столлмана преклонить колени перед великой и ужасной машиной Оз показывал, что между хакерами и начальством Лаборатории росла напряжённость. Но напряжённость эта была лишь бледной тенью того конфликта, что бушевала в самом хакерском коллективе, который разделился на 2 лагеря: LMI (Lisp Machines Incorporated) и Symbolics.

Symbolics получила немало вложений извне, чем привлекла многих хакеров Лаборатории. Они работали над системой Lisp-машины и в МТИ, и за его пределами. К концу 1980 года компания наняла 14 сотрудников Лаборатории в качестве консультантов для разработки собственной версии Lisp-машины. Остальные хакеры, не считая Столлмана, работали на LMI. Ричард решил не занимать ничью сторону, и по привычке был сам по себе.

Первое время хакеры, нанятые Symbolics, продолжали работать и в МТИ, совершенствуя систему Lisp-машины. Они, как и хакеры от LMI, использовали для своего кода лицензию MIT. Она требовала возвращать изменения в МТИ, но не требовала от МТИ распространять эти изменения. Тем не менее, в течение 1981 года хакеры придерживались джентльменского соглашения, по которому все их улучшения вносились в Lisp-машину от МТИ и распространялись среди всех пользователей этих машин. Такое положение вещей ещё сохраняло какую-то стабильность хакерского коллектива.

Но 16 марта 1982 года – Столлман хорошо помнит этот день, потому что это был его день рождения – джентльменскому соглашению пришёл конец. Это произошло по воле руководства Symbolics, оно таким образом хотело придушить своего конкурента – компанию LMI, на которую работало намного меньше хакеров. Руководители Symbolics рассудили так: если у LMI в разы меньше сотрудников, то получается, что общая работа над Lisp-машиной выгодна именно ей, и если прекратить этот обмен наработками, то LMI будет уничтожена. С этой целью они решили злоупотребить буквой лицензии. Вместо того, чтобы вносить изменения в МТИ-версию системы, которой могла воспользоваться LMI, они начали поставлять в МТИ Symbolics-версию системы, которую они могли править как угодно. Выходило, что любое тестирование и редактирование кода Lisp-машины в МТИ шло только в пользу Symbolics.

Как человек, ответственный за сопровождение лабораторной Lisp-машины (первые несколько месяцев – при помощи Гринблатта), Столлман пришёл в ярость. Хакеры Symbolics предоставили код с сотнями изменений, которые вызывали ошибки. Расценив это как ультиматум, Столлман отключил линию связи Лаборатории с Symbolics, поклялся больше никогда не работать на машинах этой компании, и объявил о присоединении к работе над Lisp-машиной МТИ для поддержки LMI. «В моих глазах Лаборатория была нейтральной страной, как Бельгия во Вторую Мировую войну, – рассказывает Столлман, – и если Германия вторгается в Бельгию, та объявляет Германии войну и присоединяется к Британии и Франции».

Когда руководители Symbolics заметили, что их последние новшества всё так же появляются и на МТИ-версии Lisp-машины, они разозлились и стали обвинять хакеров Лаборатории в воровстве кода. Но Столлман нисколько не нарушал закона об авторском праве. Он изучил код, предоставленный Symbolics, и сделал логичные предположения о будущих исправлениях и усовершенствованиях, которые и стал реализовывать с нуля для Lisp-машины МТИ. Руководители Symbolics не верили этому. Они установили шпионскую программу на терминал Столлмана, которая записывала всё, что Ричард делал. Так они надеялись собрать улики воровства кода и показать их администрации МТИ, но даже к началу 1983 года показывать было почти нечего. Всё, что у них было, это какая-то дюжина мест, где код двух систем выглядел немного схоже.

Когда администраторы Лаборатории показали доказательства Symbolics Столлману, он опроверг их, сказав, что код был именно похожим, но не одинаковым. И обратил логику руководства Symbolics против него самого: если эти крупицы похожего кода – всё, что на него смогли накопать, то это лишь доказывает, что Столлман на самом деле не воровал код. Этого было достаточно, чтобы управляющие Лабораторией одобрили работу Столлмана, и он продолжал её до конца 1983 года. .

Но свой подход Столлман изменил. Чтобы максимально обезопасить себя и проект от претензий Symbolics, он совсем перестал смотреть в их исходные коды. Он стал писать код исключительно по документации. Самые большие новшества Ричард не ждал от Symbolics, а реализовывал сам, потом лишь добавлял интерфейсы для совместимости с реализацией Symbolics, опираясь на их документацию. Также он читал список изменений в коде Symbolics, чтобы понять, какие ошибки они исправляли, и исправлял эти ошибки самостоятельно, другими способами.

Происходящее укрепило решимость Столлмана. Создав аналоги новых функций Symbolics, он склонил сотрудников Лаборатории к МТИ-версии Lisp-машины, что обеспечило хороший уровень тестирования и поиска ошибок. А МТИ-версия была полностью открыта для LMI. «Я хотел наказать Symbolics любой ценой», – рассказывает Столлман. Это заявление говорит не только о том, что характер Ричарда далёк от пацифизма, но и о том, что конфликт вокруг Lisp-машины задел его за живое.

Отчаянную решимость Столлмана можно понять, если учесть, как происходящее выглядело для него – «разрушением» его «дома», то есть хакерского сообщества и культуры Лаборатории ИИ. Позднее Леви брал у Столлмана интервью по электронной почте, и Ричард там сравнивал себя с Иши – последним известным представителем индейской народности Яхи, которую истребили в индейских войнах 1860-1870-х годов. Эта аналогия придаёт излагаемым событиям эпический, почти мифологический размах. Хакеры, что работали на Symbolics, видели это в несколько другом свете: их компания не разрушала и не истребляла, а только делала то, что давно нужно было сделать. Переместив Lisp-машину в поле коммерции, Symbolics сменила подход к проектированию программ – вместо кройки их по твердолобым лекалам хакеров стали использоваться более мягкие и человечные нормы менеджеров. И Столлмана они расценивали не как противника-бойца на страже правого дела, а как носителя устаревшего мышления.

Масла в огонь подлили и личные раздоры. Ещё до появления Symbolics многие хакеры сторонились Столлмана, а теперь ситуация ухудшилась многократно. «Меня больше не звали в поездки до Чайна-тауна, – вспоминает Ричард, – Гринблатт дал начало обычаю: когда ты хочешь пообедать, ты обходишь коллег и зовёшь их с собой, или же шлёшь им сообщение. Где-то в 1980-1981 году меня перестали звать. Они не только не приглашали меня, но и, как признался мне потом один человек, давили на остальных, чтобы никто не говорил мне о планируемых поездах на обед».

>>> Подробности

 , , ,

Deleted
()

Free as in Freedom на русском: Глава 6. Коммуна Emacs

Группа Документация

Free as in Freedom на русском: Глава 1. Роковой принтер

Free as in Freedom на русском: Глава 2. 2001: Хакерская одиссея

Free as in Freedom на русском: Глава 3. Портрет хакера в юности

Free as in Freedom на русском: Глава 4. Развенчай бога

Free as in Freedom на русском: Глава 5. Ручеёк свободы

Коммуна Emacs

Лаборатория ИИ в 70-х годах была особенным местом, в этом сходились все. Здесь проходили передовые исследования, здесь работали сильнейшие специалисты, так что в компьютерном мире Лаборатория была постоянно на слуху. А её хакерская культура и мятежный дух создавали вокруг неё ореол священного места. Только когда из Лаборатории ушли многие учёные и «рок-звёзды программирования», хакеры ощутили всю мифологичность и эфемерность того мира, в котором они жили.

«Лаборатория была для нас чем-то вроде Эдема, – рассказывает Столлман в статье Forbes 1998 года, – никому даже в голову не приходило отгородиться от других сотрудников вместо того, чтобы работать сообща».

Такие описания в духе мифологии подчёркивают важный факт: 9 этаж Техносквера был для многих хакеров не только рабочим местом, но и родным домом.

Слово «дом» использовал сам Ричард Столлман, а мы прекрасно знаем, насколько точен и осторожен он в высказываниях. Пройдя через «холодную войну» с собственными родителями, Ричард до сих пор считает, что до Карриер-Хауса, его Гарвардского общежития, родного дома у него просто не было. По его словам, в гарвардские годы его мучил только один страх – оказаться исключённым. Я выразил сомнение, что у такого блестящего студента, как Столлман, был риск вылететь. Но Ричард напомнил мне о своих характерных проблемах с дисциплиной.

«В Гарварде очень ценят дисциплину, и если ты пропускаешь пары, тебя быстро попросят на выход», – сказал он.

После окончания Гарварда Столлман лишился права на общежитие, а желания возвращаться к родителям в Нью-Йорк у него никогда и не было. Так что он пошёл по дорожке, проторённой Гринблаттом, Госпером, Сассменом и многими другими хакерами – поступил в аспирантуру МТИ, снял рядом комнату в Кембридже, и большую часть времени стал проводить в Лаборатории ИИ. В своей речи 1986 года Ричард так описал этот период:

Наверное, я немного больше других имею оснований сказать, что жил в Лаборатории, потому что каждый год-два я по разным причинам лишался жилья, и в общем счёте я прожил в Лаборатории несколько месяцев. И мне там всегда было очень комфортно, особенно в жару летом, потому что внутри было прохладно. Но вообще это было в порядке вещей, что люди ночевали в Лаборатории, хотя бы из-за бешеного энтузиазма, что владел тогда всеми нами. Хакер порой просто не мог остановиться и работал за компьютером до полного истощения, после чего отползал на ближайшую мягкую горизонтальную поверхность. Словом, очень непринуждённая, домашняя атмосфера.

Но эта домашняя атмосфера порой создавала проблемы. В том, что некоторые считали домом, другие видели притон электронного опиума. В книге «Сила компьютера и мотивация человека» научный сотрудник МТИ Джозеф Вейзенбаум в резком тоне раскритиковал «компьютерный взрыв» – так он назвал заселение хакерами компьютерных центров вроде Лаборатории ИИ. «Их мятая одежда, немытые волосы и небритые лица говорят о том, что они полностью забросили себя в пользу компьютеров, и не хотят видеть, к чему это может их привести, – писал Вейзенбаум, – эти компьютерные бичи живут только ради компьютеров».

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

Впрочем, жизнь хакера тоже не лишена трагедии. Сам Ричард утверждает, что его превращение из хакера-по-выходным в хакера-24/7 – результат целой череды болезненных эпизодов юношества, от которых получалось спастись лишь в эйфории хакерства. Первой такой болью стало окончание Гарварда, оно резко меняло привычный, спокойный уклад жизни. Столлман поступил в аспирантуру МТИ на отделение физики, чтобы пойти по стопам великих Ричарда Фейнмана, Вильяма Шокли и Мюррея Гел-Манна, и чтобы не пришлось ездить 2 лишних мили до Лаборатории ИИ и новенького PDP-10. «Почти всё своё внимание я по-прежнему уделял программированию, но думал, может, попутно смогу заниматься физикой», – рассказывает Столлман.

Изучая физику днём и хакерствуя ночью, Ричард старался достичь идеального баланса. Точкой опоры этих гиковских качелей были еженедельные встречи клуба народных танцев. Это была его единственная социальная связь с противоположным полом и вообще миром обычных людей. Однако ближе к концу первого курса в МТИ случилось несчастье – Ричард повредил колено и не смог танцевать. Он думал, что это временно, и продолжал ходить в клуб, слушать музыку, болтать с друзьями. Но кончилось лето, колено всё ещё болело и нога плохо действовала. Тогда Столлман заподозрил неладное и забеспокоился. «Я понял, что лучше уже не станет, – вспоминает он, – и что я больше никогда не смогу танцевать. Меня это просто убило».

Без общежития Гарварда и без танцев вселенная социальной жизни Столлмана тут же схлопнулась. Танцы – единственное, что не только связывало его с людьми, но и давало реальную возможность встречаться с женщинами. Нет танцев – нет свиданий, и это особенно сильно расстроило Ричарда.

«Большую часть времени я был совершенно подавлен, – описывает Ричард этот период, – я ничего не мог и не хотел, кроме хакерства. Полнейшее отчаяние».

Он почти перестал пересекаться с миром, полностью уйдя в работу. К октябрю 1975 года он фактически забросил физику и учёбу в МТИ. Программирование из хобби превратилось в главное и единственное занятие всей жизни.

Сейчас Ричард говорит, что это было неизбежно. Рано или поздно зов сирен хакерства пересилил бы все остальные влечения. «В математике и физике у меня не получалось создать что-то своё, я даже не представлял себе, как это делается. Я только комбинировал уже созданное, и меня это не устраивало. В программировании же я сразу понял, как создавать новые вещи, и самое главное – ты сразу видишь, что они работают, и что они полезны. Это приносит огромное удовольствие, и программировать хочется снова и снова».

Столлман не первый, кто связывает хакерство с сильнейшим удовольствием. Многие хакеры Лаборатории ИИ тоже могут похвастаться заброшенной учёбой и недополученными степенями в математике или электротехнических областях – только потому, что в чистом восторге программирования утонули все академические амбиции. Говорят, что Фома Аквинский своими фанатичными занятиями схоластикой доводил себя до видений и ощущения бога. Хакеры достигали схожих состояний на грани неземной эйфории после многочасовой концентрации на виртуальных процессах. Наверное, поэтому Столлман и большинство хакеров избегали наркотиков – после часов двадцати хакерства они были всё равно что «под кайфом».

>>> Читать далее

 , , ,

anonymous
()

Emacs 26.2

Группа GNU's Not Unix

В День Космонавтики случилось ещё одно радостное событие - релиз среды исполнения Lisp программ Emacs, наиболее известной лучшим (по мнению пользователей Emacs) редактором текста.

Предыдущий релиз состоялся чуть меньше года назад поэтому заметных изменений не так много:

  • поддержка 11 версии юникода
  • поддержка сборки модулей в произвольной директории
  • удобная команда сжатия файлов во встроенном файловом менеджере

Кроме того стоит отметить релиз 9.2.3 org-mode - режима управления заметками, таблицами, календарями и всем тем, что необходимо для организации продуктивной работы. Несмотря на то, что это часть Emacs, у неё отдельный цикл релизов.

Из личного опыта - даже org-mode https://orgmode.org/ уже достаточно для того, чтобы задуматься о переходе на Emacs.

В предверии неизбежных шуток за 300 про «отсутствующий редактор»: http://spacemacs.org/ - преднастроенный дистрибутив Emacs, созданный по мотивам vim.

>>> Подробности

 , ,

zabbal
()

recutils 1.8

Группа GNU's Not Unix

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

Изменения:

  • Утилиты:
    • Исправлена сборка readrec с последними заголовочными файлами bash.
  • librec:
    • Исправлено выполнение выражений выборки, содержащих выражения #NAME.
    • Числовые результаты агрегированных функций теперь имеют знак.
  • readred:
    • readrec --help теперь показывает справочное сообщение и выходит, вместо ожидания ввода.
  • Emacs-режим:
    • rec-mode.el теперь поддерживает регистронезависимый поиск.
    • rec-mode.el теперь объявляет свои представления шрифтов.
    • ob-rec.el переключён на лексическое связывание для совместимости с будущими версиями org-mode.
  • Теперь можно выполнять тестовый набор параллельно.
  • Другие исправления:
    • Обновлена gnulib.
    • Поправлена сборка для GNU/Hurd.
    • Агрегированные функции теперь правильно работают на AArch64 и powerpc.
  • Внутренняя очистка и рефакторинг кода.
  • Прочие исправления ошибок.

>>> Скачать

>>> Зеркало

>>> Домашняя страница

>>> Источник

 , , ,

Moondancer
()

Голосование по второй бета-версии Revised 7 Report on Algorithmic Language Scheme (Large Language)

Группа Конференции и встречи

Открыто голосование по содержанию второй (из восьми) бета-редакции алгоритмического языка Scheme R7RS-large (Tangerine Edition), а также сбор предложений по третьей бета-редакции (Orange Edition).

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

Семейство Lisp - второе по длительности применения семейство языков (после Фортрана), основанное Джоном Маккарти в качестве инструмента написания искусственного интеллекта. Одним из активных участников разработки специализированных компьютеров для интерпретации Lisp был Ричард Столлман, впоследствии основатель Фонда Свободного Программного Обеспечения. Как следствие, одним из основных инструментов при разработке на Scheme является Emacs (+Geiser, Scheme-Complete, company-mode). Предполагается, что в какой-то момент Scheme будет внутренним языком Emacs, вместо Emacs Lisp. (Уже сейчас можно посмотреть на EdWin.)

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

Scheme развивается двумя путями. Индивидуальные расширения формулируются согласно процессу, сходному с RFC, и называются SRFI, (Scheme Request For Implementation). В отведённые сроки выходят объединённые редакции «стандартного отчёта», формулирующие, что из себя представляет scheme «в целом». Последним завершённым изданием является Revised 7 Report on Algorithmic Language Scheme (small language), а последним экспериментальным изданием является R7RS-large Red Edition. Предполагается, что до выхода окончательной редакции R7RS-large выйдет семь или восемь промежуточных редакций, и в данный момент рассматриваются редакция 2 (Tangerine), ставящая своей целью формализовать структуры данных, коллекции и numerics и редакция 3, нацеленная на новые фичи.

Заинтересованным специалистам предлагается изучить дискуссионный материал и проголосовать согласно собственному видению вопроса, представившись перед этим заранее в scheme-reports-wg2@googlegroups.com

Вопросы, по которым предлагается голосование:

  • Строковая библиотека
  • Ассоциативные массивы
  • Регулярные выражения
  • Генераторы/Аккумуляторы
  • Целочисленные операции
  • Битовые операции
  • Математические операции с fixpoint
  • Математические операции с floating point
  • Битовые вектора
  • Гомогенные вектора
  • Форматирование
  • Большие числа
  • Дроби
  • Точные числа

Вопросы, которые предлагается рассмотреть в третьем издании:

  • Случайные числа
  • Простые числа
  • Целочисленные множества
  • Дискрептивная статистика
  • Диапазоны
  • Битовые вектора
  • Байтовые строки
  • Перечисления
  • Комбинаторика и перестановки

>>> Подробности

 , , , ,

anonymous
()

Emacs 26.1

Группа Open Source

28 мая был анонсирован мажорный релиз текстового редактора GNU Emacs 26.1.

Основные изменения:

  • Ограниченная форма конкуррентности (concurrency) с Lisp потоками. Переключение между потоками будет происходить при ожидании ввода, при блокирующих операциях и когда текущий поток заканчивается сам.
  • Поддержка показа номеров строк (linum-mode тормозил)
  • Использование двойной буфферизации для уменьшения моргания в оконной системе X
  • Полностью переработанный Flymake
  • Новый режим горизонтальной прокрутки по одной строке
  • Предоставлен systemd user unit file
  • Поддержка 24-битных цветов в способных на то терминалах
  • Вывод Cmake теперь распознается в compilation-mode

Полный список изменений: https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.26

Официальный сайт: https://www.gnu.org/software/emacs/

>>> Подробности

 

Deleted
()

GNU Emacs 25.3 с устранением давней уязвимости, позволяющей файлу (письму) исполнять любой код

Группа Безопасность

Представлен экстренный выпуск GNU Emacs 25.3, устраняющий уязвимость в enriched-mode, позволяющую злоумышленнику сформировать файл (к примеру, электронное письмо), при отображении которого в Emacs будет исполнен произвольный код.

Уязвимости подвержены все версии, начиная с 19.29.

Не желающие обновляться могут просто занулить уязвимую функцию, отключив таким образом поддержку text/enriched:

(eval-after-load "enriched"
  '(defun enriched-decode-display-prop (start end &optional param)
     (list start end)))

(добавить в инициализационный файл)

text/enriched — альтернативный HTML и ныне едва ли кем используемый SGML-подобный формат, описанный в RFC 1896, и предназначавшийся в первую очередь именно для разметки электронных писем.

Дифф

>>> Источник

 , ,

Zmicier
()

Автор популярного расширения для Emacs — Magit собирает пожертвования для full-time работы над ним в 2018 году

Группа Open Source

Magit — это интерфейс к распределённой системе управления версиями Git, разработанный в качестве дополнения для популярного текстового редактора GNU Emacs.

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

Для пользователей, которые предпочитают vi-подобную систему комбинаций клавиш доступно расширение evil-magit для интеграции magit c системой Evil (Extensible VI Layer for Emacs) и пакет дополнений Spacemacs.

Если до 1 октября кампания на Kickstarter соберёт 55000 CHF (швейцарский франк), то автор проведёт 2018 год работая над Magit full-time.

На данный момент собрано около 30000 CHF.

>>> Сайт Magit

>>> Репозиторий Magit

>>> Подробности

 , ,

Singularity
()

GNU Emacs 25.2

Группа GNU's Not Unix

Представлен выпуск GNU Emacs 25.2.

Основные изменения, вошедшие в релиз, направлены на исправление ошибок. Однако есть и другие улучшения, например новая переменная для обратной совместимости (use-default-font-for-symbols), позволяющая вернуться к поведению Emacs до версии 25, и объединение find-library, help-function-def и help-variable-def в find-function-after-hook.

До версии 24.5 Emacs развивался под управлением Ричарда Столлмана, однако потом пост мейнтейнера был передан другому лицу.

>>> Подробности

 ,

Valman_new
()

Emacs 25.1

Группа GNU's Not Unix

Ник Петтон объявил о релизе программной реализации Lisp-машины от проекта GNU под названием Emacs версии 25.1.

Основные изменения:

  • поддержка модулей в форме загружаемых библиотек (теперь Emacs можно расширять не только с помощью elisp);
  • поддержка Cairo (улучшенные диалоги печати);
  • улучшения в плане сетевой безопасности (проверка TLS-сертификатов);
  • 'electric-quote-mode' (автовставка нужного количества апострофов/кавычек по аналогии со скобками )));
  • Xwidgets — поддержка встраивания произвольных графических компонентов;
  • улучшения поддержки юникода и всего по мелочи.

>>> Подробности

 ,

zabbal
()

Вышел GuixSD-0.10

Группа GNU's Not Unix

29 марта 2016 года выпушена новая версия GuixSD — 0.10

Изменения:

  • «Пересадочный» (grafting) механизм применения обновлений безопасности исправлен и теперь считается работоспособным
  • Пакеты в бинарном виде теперь скачиваются по HTTPS и с быстрейшего зеркала
  • Большее количество пакетов теперь собираются бит-в-бит. Среди них glibc, Perl, пакеты Emacs'а и пакеты Python'а. Больше подробностей смотри по ссылке «Подробности»
  • Добавлен GNOME
  • Добавлено 639 пакетов, примерно столько же обновлено. Обновление пакетов теперь гораздо проще благодаря importer'ам и auto-updater'ам
  • Множество исправлений, улучшений документации и плюшек для Emacs'а

    GuixSD — операционная система с пакетным менеджером Guix, официально поддерживается FSF.
    Guix — функциональный пакетный менеджер с множеством уникальных свойств.

    В отличие от NixOS в GuixSD для настройки системы используется Guile (реализация Scheme — одного из диалектов Lisp'а).

>>> Подробности

 , , ,

Camel
()

Emacs X Window Manager — менеджер окон на основе Emacs

Группа Open Source

Вышли первые версии Emacs X Window Manager — тайлингового менеджера окон (WM), выполненного в качестве дополнения для Emacs. В проекте используются библиотеки XELB (X protocol Emacs Lisp Binding) и EXIM (Emacs X Input Method), все окна запущенных приложений представлены в виде Emacs-буферов.

>>> Подробности

 ,

svobodka_fighter
()

Вышел Emacs 24.5

Группа GNU's Not Unix

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

  • изменено значение history-length, теперь оно равно 100, переменная redisplay-dont-pause объявлена устаревшей
  • пакеты cc-compat.el, crisp.el, tpu-edt.el, ws-mode.el помечены как устаревшие, кроме них так же помечены пакеты vi.el, vip.el
  • и некоторое количество исправлений и новых ошибок

>>> Подробности

 , ,

msgxx
()

Вышел emacs 24.4

Группа GNU's Not Unix

Тихо и незаметно обновилась версия удобного и функционального текстового редактора emacs.

Основные изменения:

  • встроенный веб-браузер (M-x eww);
  • улучшенная поддержка нескольких мониторов и полноэкранного режима;
  • механизм «электрических» (Electric) отступов теперь действует по умолчанию;
  • поддержка сохранения и восстановления состояния фреймов и окон;
  • поддержка электронной подписи для пакетов Emacs Lisp;
  • новый механизм «подсказки» (advice) для Emacs Lisp;
  • файловая поддержка уведомлений (File notification support ?);
  • попиксельное изменение размера для фреймов и окон;
  • поддержка меню в текстовых терминалах;
  • новый режим для работы с прямоугольными фрагментами (С-x пробел);
  • и многое, многое, многое, многое, многое... (C-h n).

>>> анонс

 

Evgueni
()

Продемонстрирован запуск текстовых редакторов Vim и Emacs поверх ядра Linux

Группа Open Source

Энтузиасты из числа пользователей текстовых редакторов Vim и Emacs представили руководство по запуску этих приложений в качестве операционной системы (под PID 1):

 ,

anonymous
()