LINUX.ORG.RU

Избранные сообщения Bass

Mein C̶D̶E̶ FVWM.

Галерея — Скриншоты

После года работы в GNOME, решил переехать обратно в Fvwm, который периодически пользую еще года с 2007. В GNOME было все хорошо, но скучно, и периодически ломались какие-то расширения, а без расширений он не сьедобен. Ну и надо много мышевозить.

Итак, Fvwm c закосом под CDE. CDE всегда нравился, лет 15 назад была в зоне доступа машинка с соляркой, и она оставила самые приятные впечатления в плане интерфейса. Ну и имхо - старые рубленные интерфейсы лучше всего подходят для работы - они не отвлекают и не надоедают. Нет, глаза не текут, они текут от дефолта KDE5. Нативный CDE сейчас использовать немного тяжеловато, про NsCDE слышал, но я свой конфиг начал писать раньше, чем они появились, мне проще в своем разобраться, да и мне не нужно столько всего.

Скрин чуть постановочный, Seamonkey каждый день в работе не использую (а жаль, неплохой был браузер, были бы расширения хотя бы базовые и FirefoxSync - пользовался бы), на каждый день предпочитаю Firefox, audacious тоже не в ходу, предпочитаю mpd+ncmpcpp, xeyes также редко запускаю. Все остальное как есть. Xfce-terminal со шрифтом Fixedsys и xterm, Thunar, за кадром tmux, mutt, offlineimap, thunderbird, goldendict в качестве словарика, ну и мессенджеры разнообразные. Прикручены нужные кейбиндинги, так что пользоваться этим всем мне очень удобно. Все это крутится на ThinkPad X250. Немецкая локаль, потому что немецкий на вид и на слух гораздо более приятен, нежели английский.

P.S. Кажется, затея посадить GNOME на диету провалилась.

P.P.S. А как называется программа в правом верхнем углу?

>>> Просмотр (1920x1080, 491 Kb)

 , ,

Slack
()

Делаем машину времени с Btrfs

Статьи — Администрирование
Делаем машину времени с Btrfs

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

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

 , ,

rtxtxtrx
()

Записи докладов с C++Russia 2023

Форум — Development

В преддверии конференции C++Russia 2024 организаторы выложили на YouTube записи докладов с прошлогодней C++Russia 2023. Публикация прошлогодних докладов началась месяца три назад но по одному докладу в неделю, а пару дней назад вроде как выложили вообще все.

На данный момент на канале конференции доступны следующие видео (если к докладу прилагались слайды, то рядом приведена и ссылка на PDF-ку):

Евгений Григорчук — GPU Driven Rendering Pipeline, или Как пишется графика в современных видеоиграх, PDF

Юрий Грибов — Как правильно писать компараторы, PDF

Илья Казаков — Кастомизируем ASIO, PDF

Дмитрий Мельник — Безопасный компилятор: надежная оптимизация и улучшение защищенности кода, PDF

Эрнест Асанов — Модель асинхронности в C++: теория и практика

Антон Сысоев — Dynamic Libraries for Bare Metal, PDF

Илья Шишков — Что-то у меня тормозит: заглядываем внутрь С++ контейнеров, PDF

Тот самый стендап от Павла Филонова на C++ Russia 2023

Дмитрий Ермолов — Roren — С++ фреймворк для описания пайплайнов распределенных вычислений, PDF

Ростислав Михеев — Эффективное использование GPU на примере разработки игр, PDF

Олег Сенин — Sizecoding: взгляд изнутри

Максим Кита — Техники оптимизации производительности, PDF

Александр Еналдиев — C++ Experiments: The Battle Continues: Cpp2 vs Carbon, PDF

Иван Смирнов — YsonStruct: дешевая сериализация иерархических JSON-структур, PDF

Владимир Ситников — B-tree индексы в базах данных на примере SQLite и PostgreSQL

Артем Хорошев — Ускоряем синтез: от TensorRT до CUDA C++, PDF

Аяз Салихов — Имплементируем класс tuple в 100 строк кода, PDF

Ashot Vardanian — Advanced Linux Kernel Bypass Techniques in 2023

Егор Суворов — Санитайзеры и стандарт не спасут, PDF

Александр Ганюхин — Машина состояний: непридуманная история

Rainer Grimm — Concurrency Patterns, PDF

Денис Легезо — Злые фреймворки и генерируемый ими позиционно-независимый код, PDF

Елена Веселовская — Как перейти от ученичества к работе, PDF

Андрей Аксенов — Про алгоритмы в поисковых движках

Техническое интервью: Архитектурная секция

Сергей Ларин, Владислав Столяров — Как сделать фронтенд компилятора в домашних условиях, PDF

Антон Потапов, Антон Малахов — Учим Кукушку Летать, или ConcurrentHashMap with Seqlocks, PDF

Александр Фокин — Designing Robust APIs: C++ Code that’s Safe, Extensible, Efficient & Easy to Use, PDF

Дмитрий Стародубцев, Ольга Кузьмичева — Практическое применение dev-контейнеров, PDF

Степан Дятковский — Почти полноценный RTTI с контролируемым overhead, PDF

Иван Афанасьев — Loop unrolling в деталях, PDF

Александр Ляпунов — Максимально быстрый и максимально удобный С++ msgpack-кодек

Марсель Галимуллин — Back to Basics: Lock-free, PDF

Алексей Степанов, Евгений Зуев — Исходный код: скрытое знание и как его показать?, PDF

Павел Новиков — Про flat_map, PDF

Антон Ласточкин — Мониторим FSM во встраиваемом ПО, PDF

Александр Бычук — Производство ПО глазами разработчика и менеджера, PDF

Константин Владимиров — Семантические процессы в C++

Александр Кирсанов — nocc — распределенный компилятор для гигантских проектов на C++, PDF

Евгений Ерохин — Back Deep to Basics: Наследование и виртуальность в C++ (Часть 1), PDF

Евгений Опарин — Опыт использования Bazel

Семен Буденков — С Conan за кроссплатформенностью, PDF

Сергей Талантов — С++ и безопасность: правда ли все так плохо?, PDF

Александр Боргардт — Колоночное хранилище в памяти: void* и шаблоны

Петр Советов — Автоматизация программирования в СССР. Трансляторы (60–70-е годы), PDF

Александр Корнилов — Идея по улучшению многопоточного кода, PDF

Александр Кухаренко — Демосцена: в погоне за wow-фактором, PDF

Виктор Шампаров — Компилятор LCC и оптимизация слияния кода, PDF

Евгений Зощук — Вперед в прошлое, или Разрабатываем фреймворк под Windows 95 в 2023 году, PDF

Михаил Лукин — Практика программирования тензорных ядер

Вадим Винник — Элементы функционального программирования в языке C++, PDF

Антон Соснин — С++ в мемах, PDF

Антон Полухин — C++ трюки из userver

Нужны ли профсоюзы в IT?

Тренды от HR

Интервью с Максимом Бабенко

PS. Практически все доклады перечислены в том порядке, в котором их мне показывает YouTube, никакой сортировки по какому-либо принципу здесь нет.

PPS. Сам ничего из этого не смотрел, никаких рекомендаций на тему «интересно/не интересно» дать не могу.

 

eao197
()

VMware Workstation Pro и Fusion Pro теперь бесплатны для личного пользования

Новости — Проприетарное ПО
VMware Workstation Pro и Fusion Pro теперь бесплатны для личного пользования
Группа Проприетарное ПО

VMware – крупнейший разработчик ПО для виртуализации и облачных вычислений.

В своём блоге они объявили, что с 13 мая 2024 года локальные гипервизоры Workstation Pro и Fusion Pro становятся бесплатными для личного пользования, а для коммерческого —потребуется платная подписка. Продукты Workstation Player и Fusion Player больше нельзя скачать как отдельные приложения, однако, они всё ещё будут поставляться вместе с их Pro-версиями.

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

>>> Блог VMware

 

MrCookie
()

SimCity в 2024 году

Галерея — Скриншоты

SimCity — игра в жанре градостроительный симулятор, разработанная Уиллом Райтом и компанией Maxis в 1989 году.

Немного истории. Это та самая игра, для которой было сделано исключение в обработке памяти в винде. Игра больше не работала после того, как была выпущена Windows 95. Microsoft не стали ждать патча от разработчиков, а сделали хак сами. В Microsoft был создан специальный костыль для ОС, который отслеживал запуск SimCity на компьютере. Если это происходило, Windows 95 изменяла работу распределителя памяти таким образом, чтобы симулятор не считывал освобождённую память. (То есть изменяла работу на то как это работало в DOS). Благодаря этому патч от разработчиков для решения данной ошибки, не потребовался.

В дальнейшем исходники игры были открыты и выложены разработчиком под именем Micropolis (поскольку Simcity является торговой маркой, а Micropolis было оригинальным именем данной игры) - Выложен исходный код SimCity для OLPC

Собирал так:

make -j1
То есть строго в 1 поток, иначе не соберется, код достаточно древний.

Список зависимостей такой:

bash-5.1$ ldd /usr/lib/micropolis/sim
        linux-vdso.so.1 (0x00007ffc20bd7000)
        libm.so.6 => /lib/libm.so.6 (0x00007f1fc8e2e000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f1fc8cea000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f1fc8cd5000)
        libXpm.so.4 => /usr/lib/libXpm.so.4 (0x00007f1fc8cc2000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00007f1fc8c2a000)
        libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0x00007f1fc8bd9000)
        libc.so.6 => /lib/libc.so.6 (0x00007f1fc89f6000)
        /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f1fc903f000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f1fc89cb000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f1fc89c6000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f1fc89be000)

Собирал отсюда — git://git.zerfleddert.de/micropolis

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

Для того чтобы этого избежать, были заменены fonts.alias и fonts.dir игры на те что взяты из текущей настройки системы. То есть фактически замена шрифтов все равно происходит, но поскольку замена идет на ту же конфигурацию, то это незаметно для глаза.

>>> Просмотр (1920x1080, 326 Kb)

 , , ,

vbcnthfkmnth123
()

ResearchGate - как зарегистрироваться?

Форум — Talks

В общем, вопрос в заголовке.

Там они настойчиво просят почту на домене какого-нибудь известного института и тому подобное, а я обычный птушник. Помню, лет 10 назад делал какие-то подобные финты через intuit.ru, но сейчас что-то не нашел там регистрации почты (может и не было)

ps: это соцсеть для «ученых» researchgate.net с их работами

 , ,

admucher
()

Проприетарный дестктоп на QNX 6.5

Галерея — Скриншоты

QNX 6.5 датируется 2010 годом, и система все еще развивается. Но начиная с 6.6, оболочка Photon считается deprecated и удалена из системы. Версии qnx7 и qnx8 в свободном доступе найти не удалось вовсе.

Установка полностью в текстовом режиме, не совсем интуитивная, но если читать все что пишет установщик (ну или нажимать всегда F1), то все проходит успешно. После установки система сразу предлагает настроить дисплей, все стандартно, кроме аппаратного/программного курсора, так и не понял в чем у них разница.

QNX --- безопасная система реального времени, потому предлагает не париться и работать под root.

А вот DHCP не отработал и пришлось вводить настройки сети руками. Из 8Gb RAM система видит только 3.5 (free и /proc/mem отсуствуют). При 4 выделенных ядрах CPU показывает только одно (/proc/cpuinfo отсутствует).

Панелька справа --- это что-то вроде панели быстрого запуска+ панель виджетов, Launch --- привычное каскадное меню «аля Start», окна сворачиваются на нижнюю панель.

Где брать сторонний софт, пока не искал, но QNX --- это же SDP и пользователь должен сам написать себе ПО. В комплекте замечены gcc, python2.5 и vi. Но из коробки идет Firefox 2.0 Bon Echo, можно почитать LOR.

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

Игори в комплекте: Аниме-Тетрис, Го, Солитер, Покер, Камушки.

Присутствуют средства удаленного подключения к другим QNX (к localhost подключаться отказалась, хотя в настройках разрешил подключения) и некое отладочное ПО для графического режима.

Выключать ПК следует самостоятельно.

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

>>> Просмотр (3486x2619, 1404 Kb)

 , ,

Kolins
()

Удаление deb-пакетов с некорректными pre- и post-скриптами

Статьи — Администрирование

Иногда возникает ситуация (особенно на машине разработчика/мейнтейнера), когда deb-пакет нельзя ни корректно доустановить, ни удалить, поскольку сценарий prerm (postrm, preinst, postinst) содержит ошибки. Ключи в apt и dpkg, посвящённые сломанным пакетам (--force-remove-*, -f) тоже могут не помочь, поскольку в первую очередь разруливают битые зависимости между пакетами.

В этом случае эффективным может оказаться «лечение» на низком уровне. Наиболее радикальный метод предлагался на опеннете: просто зайти в /var/lib/dpkg/info и удалить все файлы package-name.*, после чего удалить упоминания о пакете из /var/lib/dpkg/status (подробности по ссылке). Однако в этом случае удалится лишь метаинформация о пакете, а вот хвосты в /usr, /etc и др. останутся, как отмечали в комментариях.

Мне помог похожий, но чуть более тонкий способ. Надо зафиксировать, какая именно ошибка возникает в сценарии и в каком именно сценарии (для корректного удаления в первую очередь нас интересуют .prerm и .postrm).

Далее мы заходим в /var/lib/dpkg/info и просто исправляем package-name.prerm или package-name.postrm так, чтобы он отработал корректно. Например, если в .prerm удалялся несуществующий каталог без проверки на его существование, стираем или комментируем команду удаления.

После этого, как обычно, сносим пакет средствами dpkg -r.

Перемещено hobbit из development

 , ,

hobbit
()

Накидайте книг для продвинутого Си под онтопик

Форум — Development

Сто лет назад прочитал K&R и всегда хватало, а если я хочу углУбить?

// друг спрашивает :)

UPD: собрал из темы списочек, особо не редактируя (экстримов и модернов поболее одного, но пусть будет) – думаю, заглянувшим в будущем будет полезно:

  • modern c by jens gustedt
  • Thomas Mailund - Pointers in C Programming (2021)
  • Gustedt - Modern C (2020)
  • Kalin - Modern C Up and Running (2022)
  • King - C Programming. A Modern Approach, 2nd ed. (2008)
  • Хэзфилд «Искусство программировани на C»
  • «Язык C в XXI веке»
  • Экстремальный Си
  • extreme c programming
  • «UNIX. Профессиональное программирование» Уильям Ричард Стивенс, Стивен А. Раго
  • C Interfaces and Implementations: Techniques for Creating Reusable Software
  • Peter van der Linden, Expert C Programming: Deep C Secrets https://progforperf.github.io/Expert_C_Programming.pdf
  • Чан Теренс «Системное программирование на С++ для Unix»

 ,

pihter
()

Gloire — ОС с ядром Ironclad, написанном на языке Ada

Новости — Open Source
Gloire — ОС с ядром Ironclad, написанном  на языке Ada
Группа Open Source

Недавно на Github появился репозиторий операционной системы Gloire. Gloire использует ядро Ironclad, написанное на языке программирования Ada, и пользовательское окружение GNU. На сайте, посвященном Ironclad, написано что оно находится в процессе «формальной верификации».

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

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

 , gloire, ironclad,

watchcat382
()

Вышел симулятор электронных схем Qucs-S 24.1.0

Новости — Open Source
Группа Open Source

Сегодня, 16 февраля 2024 года, вышел релиз симулятора электронных схем Qucs-S 24.1.0 В качестве движка моделирования рекомендуется использовать открытый Ngspice: https://ngspice.sourceforge.io/

Начиная с этой версии, система нумерации версий переведена на CalVer. Теперь первая цифра означает год, вторая номер релиза в году, третья – номер патча.

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

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

 , , , ,

DarthVadimius
()

Восстановление удалённых фото с NTFS. easyrecovery

Форум — General

Доброе время суток. Задача: восстановить фото, удалённые (несколько месяцев назад) с ноутбука (которым с тех пор неактивно, но пользовались) под оффтопиком 10. photorec под линуксовым live-usb восстановил часть. Хотела попробовать easyrecovery, образ (для вин10) взяла отсюда, live-usb записала через приблуду от тех же авторов, однако эта, как оказалось, FreeBSD не грузится на целевом ноуте (Lenovo IdeaPad L340-15API, проц Ryzen 5 3500U 2.10 Ггц). В Safe Mode в лог валится:

uhub_reattach_port: could not allocate new device
usbf_setup_device_desc: getting device descriptor at addr 1 failed, USB_ERR_TIMEOUT
ahcich: Timeout on slot 0 port 0
ahcich0: AHCI reset: device found
ahcich0: SATA connect time=100us status=00000133
(aprobe0:ahcich0:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ahcich0:0:0:0): CAM status: Command timeout
(aprobe0:ahcich5:0:0:0): Error 5, Retries exhausted
...

При этом на других ноутах запускается без проблем; замена флэшки, образ из других источников ничего не меняют. Биос у целевого ноута очень куцый, там фактически нечего включать/выключать. Нагуглить удалось только предложение указывать при загрузке set hint.ahci.0.msi="0", но и это (ни так, ни с добавлением префикса kFreeBSD.) ничего не изменило.

Вопросы такие:

  1. Что ещё можно сделать чтобы запустить изю на означенном ноуте?
  2. Может быть я зря мучаюсь, и в 2024-м есть какие-то более эффективные способы восстановить утраченные файлы (или убедиться, что это невозможно)?

Заранее благодарю за ответы.

 , ,

Pepsi
()

FreeCAD — погружение и внедрение

Галерея — Скриншоты

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

В целом, эксперимент оказался очень удачным, а FreeCAD – единственным, кто смог справиться с этой задачей и в чём-то даже превзойти мои ожидания… а перепробовал я многое.

Хочется поделиться впечатлениями :)

@AP, @DR_SL, @Aceler, @Zhbert, @Turbid

  • Плюсы, выборочно:

    • Полноценный Python, а значит и вся его экосистема.
    • Стабильность! Серьёзно, в сравнении с тем же SolidWorks он просто скала непоколебимая.
    • Удобство, скорость работы и так сказать – предсказуемость результата.
    • Много-много фишек, которых больше нигде не найти: link, clone, spreadsheet & configuration table, property и т. д.
  • Особенности:

    • Нет какого-то определённого вектора развития… хотя может это не есть проблема.
    • Topological naming problem – то, о чём все так много говорят меня вообще не напрягает в работе.
    • Отсутствие верстака для сборки – при параметрическом моделировании он более чем не нужен, лишние проблемы могут быть из-за привязок.
  • Из негативного:

    • В стандарте отсутствует верстак для работы с листовым металлом.
    • Обновления… многое (что идеально работало) сломали изменили в новых версиях, а потом ещё залезли в модуль SheetMetal и его сломали поменяли… но ладно, это скорее субъективное.

Для интересующихся есть долгое видео - YouTube

>>> Просмотр (2560x2160, 1094 Kb)

 , , , ,

Noir
()

Ext4 гробит данные (в том числе в Debian Stable)

Форум — Talks

Привет, ЛОР!

Тут модно ругать ZFS недавно было, но мы этот тренд изменим. В ядре 6.1.64 есть баг, из-за которого при некоторых условиях файловая система ext4 может терять данные. Баг исправлен в ядре 6.1.66, так что дебианщикам и всем остальным стоит обновиться. Баг также исправлен в ядрах 6.5 и новее.

Примечательно, что ядро с дефектом поставляется в том числе в дистрибутиве Debian Bookworm 12.3. Вот вам и стабильный дистрибутив без багов!

Тыц раз: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057843

Тыц два: https://lore.kernel.org/stable/20231205122122.dfhhoaswsfscuhc3@quack3/

 , ,

hateyoufeel
()

Повреждение данных в Ext4 под ядрами в ветке LTS-версий 6.1.X.

Новости — Linux General
Группа Linux General

Из-за проблемного патча, перенесенного обратно из Linux 6.5 в 6.1, вызывающего помехи между кодом Ext4 и iomap, существует вероятность повреждения данных в старых ядрах - особенно в последних точечных выпусках Linux 6.1 LTS, которые в настоящее время можно найти в таких дистрибутивах, как Debian 12.

В возможной ошибке повреждения данных файловой системы EXT4, которая встречается в подобных версиях Linux 6.1.64 и 6.1.55, обвиняют «тонкое взаимодействие» (subtle interaction) между iomap и Ext4. Новая версия Linux 6.1.66 уже исправляет выявленный баг.

>>> Подробности в рассылке разработчиков ядра.

 , ,

NeTC
()

Самая первая версия debian на qemu

Галерея — Скриншоты

Ну, собственно, первая версия Debian запущена из под QEMU 2.0 под Windows XP, которая работает из-под QEMU 7.2.7.

>>> Просмотр (1919x1079, 306 Kb)

 ,

ne-vlezay
()

Emacs, VS Code, NeoVim, IntelliJ IDEA... and Emacs

Форум — Talks

В названии, конечно, отсылка к фильму Spring, Summer, Fall, Winter… and Spring.

Обещал накатить вброс по Emacs, ибо как писали постом выше, народ заскучал. Речь идет о продолжении топика Жизнь после Emacs.

Вообще, суть моего мессенжа, пожалуй, точнее всего передает это короткое видео :).

Но если все же попытаться раскрыть суть чуть подробнее. Да, лучше Emacs пока никто ничего не придумал, хотя есть интересные попытки. Никакие элементы архаики, сохранившиеся в Emacs не могут преуменьшить те уникальные преимущества, которых больше нигде нет. Тут дело не в том, что в других редакторах/IDE они хуже или, скажем, они пока недоработанные. Их просто нет.

Итак, в продолжении темы предыдущей серии, я перешел на 1,5 года на VS Code.

Плюсы:

  1. Производительность UI, который рендерится на GPU.
  2. Производительность JavaScript (спасибо Electron/NodeJS/V8).
  3. Вменяемый API.

Минусы:

  1. Не keyboard-centric. Некоторые вещи вообще без мыши не сделать, что раздражает.
  2. Хотите переименовать текущий файл? Вам нужен плагин для этого! В Emacs это была бы просто небольшая функция - кинул в конфиг и всего делов. Тут же 8 плагинов, половина из них заброшена в 2015-м, другая половина помимо необходимой функции добавляет еще 100500 других. Доков нет, докстрингов нет, что кто-то другой будет открывать код плагина и в мыслях не было. Спасибо, если есть ридми, пусть и не обновляемая много лет, и уже не релевантная коду.
  3. Культура разработки. Вне официального кода от Microsoft ее нет (см. выше). Писать плагины на ClojureScript возможно, но не вполне натурально (как проба пера, например advanced-navigation-cljs). Да, есть еще joyride. API неплох, да, но многие вещи гвоздями прибиты и всего не настроишь.

Наверное, основной вопрос в плане конфигурации VS Code по сравнению с Emacs в том, что для Emacs можно было не особо переключаясь из контекста текущей деятельности быстренько перейти в .emacs, что-то там подправить и вернуться к основной задаче. В VS Code флоу совсем иной. Если ты вдруг понял, что тебе нужно что-то доконфигурировать, ты понимаешь, что либо на это нужно просто забить, либо мысленно сказать что-то вроде, «ну что ж, а теперь девочки и мальчики мы все бросаем и осваиваем/вспоминаем специальность «конфигуратор/плагинописатель» для VS Code», ибо быстренько что-то подхачить там не выйдет. Например, тебе дополнительно нужен инстанс среды для тестирования изменений плагина. Плагин дописывается, отлаживается и потом устанавливается в рабочую среду. Если же, ко всему прочему, это не твой плагин (что почти всегда), то нужно понимать, что вникать придется долго, ибо комментариев и докстрингов нет примерно никогда (за исключением собственно описания API от Microsoft).

При этом, всегда надеяться на то, что все будет «просто работать» нельзя. У меня например, после очередного обновления как-то отваливалась Calva (Clojure IDE) и edamagit (Magit for VSCode). Опять же, в Emacs у меня тоже были случаи, когда достаточно мейнстримовые плагины приходили с ошибками после очередного обновления. И в этой ситуации всегда можно быстренько это на лету починить, зарепортить багу или сразу прислать пулрек мейнтейнеру.

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

Плюсы:

  1. Производительность UI, для чего делаются отдельно UI клиенты. Я по итогу выбрал neovim-qt
  2. Производительность Lua. Чуть хуже, чем JavaScript, но сильно лучше EmacsLisp. Впрочем, про производительность UI на относительно больших файлах будет ниже оговорка.
  3. Fennel - Lisp, работающий на Lua прекрасен. Это дает в чем-то схожий флоу конфигурации, что и в Emacs, когда поведение меняется на лету (см. подробнее: conjure)
  4. Сопоставимая с Emacs экосистема. Например, Magit (для Emacs), Edamagit (для VSCode) и NeoGit (для NeoVim) работают почти одинаково.

Минусы:

  1. Модальность. Для кого-то это плюс, я ее не люблю. Я настраивал конфигурацию без модальности. Но тут периодически натыкаешься на ограничение возможностей Vim по тонкой настройке.
  2. Менее удобная работа с Fennel, чем то, что предоставляет Emacs для EmacsLisp. На самом деле, они, конечно, не сопоставимы. Т.е. NeoVim не может быть такой же удобной IDE для Fennel как Emacs для EmacsLisp, уже по причине невозможности такой же интроспекции.
  3. Довольно причудливый API, многие вещи прибиты гвоздями еще со времен царя-гороха. Например, для некоторой функциональности нет полноценных функций, которые можно было бы вызвать через API, есть только хоткеи, т.е. приходится эмулировать их нажатие для вызова этих функций. Ситуация прежде всего в NeoVim постепенно меняется к лучшему, но до API Emacs пропасть неизмеримых размеров.

Но вот то, что реально заставило меня отказаться от пути использовать NeoVim и планомерно конфигурировать его в соответствии со своими предпочтениями, это то, что на больших файлах он стал повисать прям конкретно на десятки секунд. В Neovim Qt это очень сильно сказывалось. В Neovide лучше, но там нет антиалиасинга. А хотелось бы. В консольной версии аналогично. Отключил все плагины - ситуация не сильно поменялась. И максимальным шоком стало то, что Emacs с этим файлом спокойно работал. Подвисал, да, но на доли секунд.

Про Lapce и Helix, наверное, пока говорить рано, они довольно экспериментальные еще.

В общем, лучше Emacs пока никто ничего не придумал, хотя есть интересные попытки.

 , , , ,

Kostafey
()

Blackdown Java 1.0b - возможно самая ранняя версия Java под Linux

Галерея — Скриншоты

Не знаю, как вы, но мне нравится ранняя история ядра Linux и программ, которые его окружают. Я лично мечтаю когда-нибудь найти потерянные версии ядра linux-0.02 и linux-0.03. И одно из мест, на котором оно может случайно оказаться – это archive.org. Среди каких-нибудь архивов/бэкапов, которые люди записали и выложили на сайте.

И вот, когда я рассматривал один из образов компакт-диска, мне попадается на глаза папка JAVA, а в ней… ну собственно, заголовок вы уже прочитали. На диске было 2 архива и HowTo в различных форматах из которого следует, что в архивах сама Java и браузер ее апплетов HotJava. Документ датирован 10.12.1995 и имеет версию 1.0.

Этот порт Java под Linux делала не сама Sun Microsystems (они это сделают только в релизе 1.2), а по большей части, волонтер Randy Chapman, подписавший с Sun соглашение, по которому ему были предоставлены исходные коды. Позже к нему присоединятся другие волонтеры, которые будут портировать все последующие новые версии Java.

Начиная с версии 1.2 Sun сама сделает поддержку Linux (x86), но команда blackdown.org продолжит выпускать версии JDK даже под те платформы, которые сама Sun, на тот момент, не поддерживала (PowerPC, SPARC). И по некоторым источникам эти порты работали быстрее, чем аналогичные от Sun. Последнии версии, которые успела выпустить Blackdown Linux, это 1.4.2 для i386/AMD64 и 1.3.1 для PowerPC. Работа над Java 5 (1.5.x) были анонсирована, но так и не были завершена…

Но вернемся к нашему скриншоту. Запустить Java я решил в Caldera Network Desktop (CND). Во-первых, раз Java имеет проприетарную лицензию, то пусть и дистрибутив тоже будет проприетарный. А во-вторых, Caldera у меня осталась со предыдущего скриншота. Разумеется данный порт Java может работать не только CND, но также и в RedHat/Slackware, хотя Caldera тоже поддерживается (что неудивительно, ввиду её родства с RedHat).

Во времена первых версий Java, компания Sun делала ставку на развитие и распространение технологии Java Applet и всячески продвигала эту технологию. В комплекте с JDK, помимо компилятора, был ещё и браузер апплетов HotJava и множество примеров показывающие их многогранную функциональность. Анимация, поддержка различных шрифтов и цветов, есть даже поддержка подобие 3D (скорее 2.5D), но, как мы знаем технология апплетов не получила широкого распространения, возможно из-за того, что сама Sun с версии 1.2 ударилась в enterprise-сегмент, где до сих пор занимает внушительную часть рынка, а возможно не выдержала конкуренцию с другими технологиями, такими как Flash. Кстати, в CND, в комплекте с дистрибутивом идёт проприетарный редактор CRISP. И в нем есть поддержка подсветки синтаксиса, но конкретно java он не поддерживает.

Кроме поддержки в инструментах от самой Sun, поддержку апплетов добавили в веб-браузер Netscape 2.0b3, о чём сообщается на титульной странице при старте браузера (нижний левый угол). Апплеты в Netscape работают примерно также, как в HotJava, но периодически падают, то ли из-за багов в самом браузере, то ли из того, что работают в виртуальной машине…

И завершить мне хочется скриншотом другой проприетарной программы – Adobe Reader 3.0, в которой открыта одна из полезных (на тот момент разумеется) книг – книга Laura Lemay от издательства Sams.net “Teach Yourself. JAVA in 21 Days”, в которой предлагалось выделять по одному дню на каждую из 21 главу книги. Оставим за скобками оптимистические сроки авторов (ведь всё же видели мем по 21 день С++…), тем не менее книга полезная и на момент написания HowTo была лишь пара-тройка книг, в которых в лучшем случае описывался API языка. Adobe Reader 3.0, тоже одна из первых версий под Linux, но появился он немного позже, чем сегодняшний герой, осенью 1996 года.

P.S. Ссылка на blackdown java 1.0beta

>>> Просмотр (2048x1536, 337 Kb)

 blackdown java-linux, , ,

OlegSL
()

Попробовал я Elder Scrolls в Fedora

Галерея — Скриншоты

OpenTESArena – проект по OpenSource реализации движка от The Elder Scrolls: Arena. Цель проекта: полная совместимость с Arena и нативная кроссплатформенность. Исходный код под лицензией MIT.

Игра-сабж доступна бесплатно в стиме. Именно Steam-версию я попробовал вместе с OpenTESArena.

Инструкция по установке на Linux:

  1. Обязательно установите библиотеки libbsd и sdl2 – без них OpenTESArena не запускается.

  2. Разархивируйте скачанную Linux-версию OpenTESArena в любую директорию.

  3. Переместите в папку Data (папка в OpenTESArena) папку Arena из стим-версии TES: Arena.

  4. Откройте в терминале директорию OpenTESArena.

  5. В терминале запустите команду ./run.sh.

Сайт Open Source Game Clones пишет, что данный проект неиграбелен. А коммиты в данный проект к сожалению выходят редко. Версия 0.14.0 вышла в ноябре 2021 года, а версия 0.15.0 не выходит. Я багов не встречал, потому что я поиграл настолько немного, что я не прошёл и 0,001% игры.

Кстати OpenTESArena нативно доступен не только на Windows, Mac, Linux, но и на Raspberry Pi и хромбуках.

>>> Просмотр (1920x1080, 1254 Kb)

 ,

ConLenov
()

XScreensaver может быть удалён из Debian

Форум — Talks

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819703

Для Ъ:

Автора (JWZ, один из изначальных авторов Netscape Navigator и Mozilla) запарили жалобы юзеров на баги в старых версиях xscreensaver, после чего он добавил код, который выводит сообщение с требованием обновления через некоторое время после релиза.

В свою очередь, мейнтейнеры Debian не хотят запиливать новую версию xscreensaver потому что ШТОБИЛЬНОСТЬ ШТОБИЛЬНОСТЬ ШТОБИЛЬНОСТЬ.

Феерическая цитата:

So the upstream author has shown that he enjoys being a dick and that he can't be bothered to deal with users' bug reports against versions of his software that he no longer wants to support.

 ,

hateyoufeel
()