LINUX.ORG.RU

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

Common Lisp VS Racket

Форум — Development

Комрады. Очень давно тыкал в Cl/SBCL, не так давно написал пару сервисов для этого вашего web’a на Racket.

Вопрос - Common Lisp VS Racket, что более живо для написания web’a, что имеет больше батареек, какая IDE лучше (кроме Emacs), etc.

 , , ,

silver-bullet-bfg
()

Навелосипедил квадратные скобки в лиспе

Форум — Development

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

Тащемто теперь есть. Вот так можно вызывать методы:

(use-namespace 'System)

[:Console WriteLine "Hello, World!"]

Вот так можно получить текущее время в стринге: (ни одной круглой скобки! может это tcl/tk?)

[[:DateTime %Now] ToString]

А вот так получить значение максимального int32, из специального статического поля соответствующего класса:

[:int $MaxValue]

Более того, можно стучаться в индексеры дикшнрей и прочих объектов, даже круче чем в Clojure:

(let ((dict (new '(Dictionary :string :string))))
  (setf #[dict "Hello"] "World!")
  dict)

И создавать Enum-ы не обременяя себя расставлением запятых:

(use-namespace 'System.Reflection)

#e(BindingFlags Public Static)

На закуску, для любителей ковыряться в байтах, добавил и такую возможность, прямо как в C# только лучше:

(use-namespace 'System.Text)

(let ((dotnet-array [[:Encoding %UTF8] GetBytes "Hello, World!"]))
  (with-fixed (raw-pointer dotnet-array)
   (cffi:mem-ref raw-pointer :uint8)))
;; ==> 72

Не хватает батареек? Тогда мы идем к вам!

 , , ,

lovesan
()

OmegaT – система автоматизированного перевода

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

Когда-то я переводил прямо в текстовом редакторе/процессоре, предложение за предложением замещая оригинал переводом. Некоторые так делают до сих пор. Или открывают в одном окне документ заказчика с замысловатым форматированием, а в соседнем – печатают перевод. Недостатков у такого подхода множество:

  • повторы, частичные и полные, (допустим, в пачке должностных инструкций) утомляют или поиском и копипастой, или перепечаткой одного и того же (причем формулировки то и дело плывут там, где крайне желательно постоянство);
  • постоянная копипаста в словари и системы машинного перевода утомляет и отвлекает;
  • сложно следить за постоянством терминологии;
  • сложно сохранять форматирование;
  • то и дело возникают ошибки (в том числе, самые непростительные – пропуски), которые сложно уловить и исправить;
  • в целом сложнее за всем уследить, и правило 7±2 в итоге бьет по скорости или по качеству;
  • если переводчик работает, словно в век пишмашинок, агентству или заказчику приходится потом самостоятельно форматировать перевод.

Использование автоматизированного перевода только кажется сложным. На самом деле, я просто установил OmegaT, настроил внешний вид и стал работать, понемногу настраивая все остальное. В репах обычно устаревшие версии, поэтому лучше ставить сборку с официального сайта в /opt/, стабильную или бету. На Open JRE поддерживается меньше функций, и Oracle JRE предпочтительна. Я не хочу ставить Oracle JRE в систему, поэтому скачиваю сборку с ней.

Интерфейс

На скриншоте вы видите роман Д. Г. Лоуренса «Сыновья и любовники» в процессе перевода, который я делаю в свободное время, – еще без литературной правки. Итак, пройдусь подробнее по вкладкам/окнам/областям (всё это перетаскивается и преобразуется одно в другое).

Editor – я люблю видеть оригинал и перевод одновременно. Еще люблю, когда неуникальные сегменты менее контрастны. Автоматическую подстановку частичных совпадений отключаю: ее можно проглядеть и оставить сегмент без редактуры. Вставляю вручную, по хоткеям. Также люблю автодополнение: оно здесь куда более интеллектуальное, чем в LibreOffice.

Dictionary – я кладу мягкие ссылки на словари в каталог ./dictionaries/ проекта. OmegaT парсит сегмент и подгружает словарные статьи в эту область. Словари лучше не добавлять все сразу, а выбирать под проект, особенно если в компьютере крутится HDD. Словари – моя самая частая причина желать SDD.

Когда локальных словарей недостаточно, помогает внешний поиск, который я тоже настроил под себя. Threesome – так мой внутренний гусар прозвал Multitran, ReversoContext и Linguee, открываемые в трех разных вкладках браузера. Эта троица идеальна, когда нужно разыскать словосочетание или увидеть переводы в контексте. Oxbridge – это связка из Oxford Dictionary и Cambridge Dictionary: иногда единственный способ перевести адекватно – это подобрать слово под определение.

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

Fuzzy Matches почти бесполезны для художественной прозы, но здорово экономят время при переводе документов. Здесь появляются повторы не только из текущего проекта, но и из добавленных файлов памяти перевода. Их можно взять из собственных проектов или сгенерировать встроенным Aligner’ом из оригинала и перевода.

Machine Translation – я использую Яндекс, IBM Watson, Google, MyMemory. Качество работы всех четырех зависит от темы и стиля оригинала, но в большинстве случаев выбрать лучший машинный перевод, отредактировать его – проще и быстрее, чем набирать с нуля. Например, Watson неплохо натаскан на IT и новости, MyMemory и Google – на договоры. Если знать и понимать переводческие трансформации, документы в итоге переводятся даже качественнее, чем вручную. Но в случае художественного перевода сюда лучше заглядывать лишь изредка: машинный перевод имеет свойство тихо и незаметно отравлять стиль. Отдельно стоит упомянуть MyMemory (human) – это временами полезный поиск похожих переводов по базе соответствующей компании.

Notes, Multiple Translations использую крайне редко. Comments, Segment Properties отключил бы вообще, но такой возможности нет.

Польза автоматизации

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

Чего не хватает? Например, вменяемого токенизатора (анализатора морфологии). Словари и глоссарии либо воспринимают слово только в начальной форме, либо находят все однокоренные. Не помешал бы и встроенный или облачный транслитератор/транскриптор с разными вариантами преобразования. Желательно, умеющего работать с вырожденными случаями, так чтобы для ‘Mao Zedong’ предлагался в том числе ‘Мао Цзедун’. В принципе, это повод самому научиться писать скрипты и плагины.

 , , omegat, ,

Bagrov
()

Состоялся релиз Pygments 2.6.1

Новости — Open Source
Состоялся релиз Pygments 2.6.1
Группа Open Source

Состоялся релиз Pygments 2.6.1. Pygments — это библиотека для Python'а и утилита командной строки для подсветки исходного кода. Pygments используют, например, Wikipedia, BitBucket и Progopedia. На выходе получаются следующие форматы: HTML, LaTeX, RTF, подсветка через ANSI-последовательности (в консоли).

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

>>> Скачать

 pygments, ,

saahriktu
()

ВИDный «десктоп» без Systemd

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

Я вас категорически приветствую!

Дело было вечером, делать было нечего. Как говорится, когда коту нечего делать... Вот и я от безделья решил, преисполненный чьими-то «горячими» чувствами к Systemd (нечего было на ночь ЛОР читать!), что-то с этим сделать. Сделал. Накатил Artix (тот же Arch, только система инициализации на выбор и os-prober не «завёлся»), поставил нужное мне ПО:

  • ядро Zen, ибо привычка под «арчем» ставить — в этом ядре встроен нужный «стиму» фикс;
  • runit, ибо OpenRC не такой экзотический (отсюда и тег «хочется странного»), плюс, команды для sv мне понравились больше;
  • KDE, ибо «искаропки» нормально отображает что GTK-, что Qt-приложения, плюс это окружение мне нравится своей настраиваемостью;
  • браузеры Firefox и Chromium, офисный пакет Libreoffice, проигрыватель VLC — понятно, зачем, Tor Browser — для просмотра порно ссылок в VK, ибо в Житомире его блокируют, а в модификации для «Сталкера» сыграть хочется;
  • PHP, Apache для игр с «бэкендом» (скоро сервер на работе поднимать будут, готовлюсь), Java для Minecraft-а и написания прикладных программ.
  • GIMP для редактирования скриншотов, Krita для рисования анимешных девочек в стиле Джоджо (правда, мышкой как-то паршиво рисуется, буду копить деньги на планшет со стилусом). «Пруфов» рисунков не будет, я стесняюсь;
  • Т.к. Network Manager-а нету по-умолчанию, использую connman. Брат жив, зависимости пока не наблюдаю. Зато есть Pulseaudio, и работает звук точно так же, как и в «арче» (не хорошо и не плохо, встроенная «звуковуха» с «пульсой» работает и всё тут).

И знаете что? А всё то же самое! Работает так же, потребляет памяти так же, если не больше (пруф — 540-580МБ в «простое», с Systemd то же самое). Код точно так же пишется, ЛОР точно так же открывается, прон всё так же смотрится... Единственное различие — это уже вышеупомянутый connman, да символические ссылки вместо systemctl enable servicename. Я даже и не заметил толком разницы с Arch-ем, да и, думаю, любой другой любитель «свежачка» тоже преспокойно может пересесть с одного дистрибутива на другой (при условии прочитывания соответствующей «вики»). Шутка ли — за исключением других репозиториев, пакеты все одни и те же (кроме Systemd-зависимых, ваш КО), менеджер пакетов тот же, даже AUR работает (пруф в роли Tor Browser оттуда)!

Даже не знаю, почему оно так. Может, дело в «потанцевале» связки «R52600+RX570», которая безупречно работает даже с GNOME 3? Может, runit не такой уж и хороший выбор в качестве системы инициализации? Или же наоборот, Systemd достиг той точки, когда обычный пользователь может преспокойно пользоваться любым дистрибутивом с ним и не париться?

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

 , , , ,

Korchevatel
()

Состоялся релиз дистрибутива Linux From Scratch 9.1

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

Состоялся новый релиз source-based дистрибутива Linux From Scratch.

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

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

 ,

saahriktu
()

Вопросы по системе

Форум — General

Можно ли как-то логировать в файл всё что происходит в sysvinit?
Всё что бежит в консоли до запуска иксов (и после)?
Нужно как-то отслеживать ошибки, а в /var/log/ не всё попадает.

Помнится лет 5-7 назад в википедии была статья о сравнении sysV и BSD инитов. В статье была таблица, в которой была разница между этими двумя системами инициализации. Сейчас этой статьи нет. Может, кто-то даст ссылку на такую табличку?

Вот уже больше года пользуюсь слакой. Понравилось больше генты, которой пользовался, наверное, больше пяти лет. В генте постоянно были какие-то конфликты при обновлении. Хочу ещё попробовать CRUX, вдруг ещё больше слаки понравится. Вопрос, только получится ли в нём использовать fglrx и старые иксы (1.17.4) и ещё кое-какие старые пакеты, от которых зависят иксы? Или придётся обзавестись новым железом? Ещё хотел бы попробовать 4MLinux, OviOS, Source Mage и Void. С ними аналогичный вопрос. Есть ли тут кто пробовал данные дистрибутивы, что скажете?

 ,

teod0r
()

Посоветуйте проектов на rust

Форум — Development

сабж

Посоветуйте не слишком сложных и не слишком больших проектов с минимумом сторонних зависимостей на rust, чтобы на примере посмотреть как оно там всё работает и как на нем пишут.

 

SuoiCat
()

IBM developerWorks Connections умирает

Новости — Документация
Группа Документация

Под удар попали Wiki, форумы, блоги, деятельности и файлы, размещённые на этой платформе. Сохраните важную информацию.

Удаление содержимого запланировано на 31 марта 2020 года. В качестве причины заявлено стремление уменьшить число дублирующих друг друга порталов для взаимодействия с клиентами и упростить пользовательский опыт с цифровой стороной IBM.

В качестве альтернативы для размещения нового содержимого предлагается перечень других порталов IBM, в первую очередь — IBM Community и IBM Support Content.

>>> Источник

 , , , ,

mertvoprog
()

Брошенное СПО

Форум — Development

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

Например, был колоризатор логов ccze, который меня практически всем устраивал, кроме того, что тормозил и без патчей под Арчем уже не собирался. Я пофиксил сборку и оптимизировал всё, что тормозило. Остальное ничего не трогал, т.к. больше в программе под мои задачи дорабатывать было нечего: https://github.com/geekless/ccze-rv/commits/master (Надо будет, кстати, проверить сборку под новыми ОС снова. А то я как собрал бинарник несколько лет назад, так и пользуюсь им без пересборок.)

Если у вас есть примеры таких программ, дайте мне знать.

При этом в моём приоритете:

  • Программы либо на gtk2 (просто с этим тулкитом знаком лучше всего), либо чисто консольные.
  • В первую очередь, на чистом Си, а потом уже на всём остальном.
  • В первую очередь, программы, работавшие под GNU/Linux, во вторую - под FreeBSD, в третьих - всё остальное.
  • С небольшой кодовой базой. Форкать xulrunner я ради вас не собираюсь, естественно.
  • Не устаревшие на миллион лет. Вот был такой файловый менеджер deco, еще под фряхой в давние времена я пользовался им. Но «спасать» там уже нечего, пришлось бы всю программу переписывать с жесткой привязки к 8-битным кодировкам на современный utf8.

Также:

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

Какой мой интерес в этом:

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

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


P.S.

Также я понемногу пилю форк http://mooedit.sourceforge.net/https://github.com/sde-gui/qk . Автор замахнулся на амбициозную цель переписать всё на C++, но что-то пошло не так, и очередной релиз редактора так и не вышел. Я форкнул код от стабильной версии на чистом Си. Но здесь я не просто исправляю баги, а постепенно хочу переделать существенную часть редактора.


UPD.

Интересное из комментариев:


UPD. 2

https://github.com/software-revive/about/wiki/Status

 , ,

Deleted
()

О божественном C и введение в него через ed

Форум — Development

Бытие (частично) определяет.

*Какая регулярка преобразует for с телом в while с телом ?

*Какой #define макрит for в while?

ps. походу операция ,(запятая) обусловлена(в том числе) автоматизацией преобразований - (опят же регулярки) вызова функции с набором аргументов в инлайн какой нить.

 , ,

qulinxao3
()

gplaycli 3.27 - клиент Google Play для скачивания apk файлов

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

Состоялся релиз gplaycli версии 3.27 — консольного клиента для магазина Android приложений Google Play, написанного на Python 3 под лицензией GNU AGPL. Изменения в новой версии касаются обновления API со стороны сервисов Google. Помимо исходных кодов, релиз доступен через pip и в виде deb-пакета. Основные возможности программы:

  • Поиск и скачивание бесплатных и купленных приложений в формате apk.
  • Возможность использования нескольких профилей разных устройств и аккаунтов.
  • Функция обновления ранее скачанных приложений (отдельного приложения или набора в папке, вручную или через cron).
  • Поддержка аутентификации по паролю или токенам, с использованием своего или демонстрационного логина (при отсутствии собственной регистрации пользователя в Google).

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

 , ,

linuks
()

FreeOrion 0.4.9

Новости — Игры
FreeOrion 0.4.9
Группа Игры

После полутора лет разработки вышла очередная версия FreeOrion — свободной космической 4X параллельно-пошаговой стратегии, основанной на серии игр «Master of Orion».

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

Ключевые изменения:

  • Улучшения многопользовательской игры:

    • Многопользовательская игра может быть запущена на сервере без подключённых игроков, и принимать игроков независимо.
    • Империи в игре могут быть привязаны к авторизованным игрокам.
    • Сервера, на которые заходил игрок, сохраняются и отображаются в списке серверов в окне подключения.
    • Чат в лобби и игре теперь общий.
    • История чата может быть сохранена и отправляется игрокам при подключении.
    • Окно сообщений мерцает при поступлении сообщения.
    • Окно лобби показывает настройки галактики из загружаемой или текущей игры на сервере.
    • Окно лобби показывает империи без подключенных игроков отдельно для загружаемой или текущей игры на сервере.
    • Сервера могут иметь заблокированные игровые правила.
    • Добавлен таймер хода для сервера.
  • Нацеливание в битвах:

    • Зенитные орудия нацелены только на истребители.
    • Перехватчики предпочитают атаковать бомбардировщики, потом истребители, потом корабли.
    • Бомбардировщики предпочитают атаковать корабли, затем истребители.
    • Расы также могут влиять на нацеливание.
  • Корпуса кораблей характеризуются топливной эффективностью, которая масштабирует дополнительное топливо от топливных частей и другого контента, добавляющего топливо.

P.S. Действует публичный сервер игры freeorion-test.dedyn.io.

P.P.S. Действует сервер игры с удлинённым временем хода, регистрация на форуме игры.

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

 , , ,

O02eg
()

автоматическая генерация картинок из кружочков и палочек (визуализация графа)?

Форум — Development

Возникла необходимость автоматически отрисовывать граф вот в таком виде http://a-iv.ru/trash/Z4.png

У кружочков (узлов) известны координаты, палочки (связи) тоже известны - подскажите пожалуйста какую нить годную несложную утилиту/библиотеку? Выходной формат не очень важен - png, pdf, svg и пр.

Можно наверное в LaTeX, но сходу вышло как то муторно;-(

 , ,

AntonI
()

Релиз TrafficToll 1.0.0 - программы для ограничения сетевого трафика приложений в Linux

Новости — Open Source
Релиз TrafficToll 1.0.0 - программы для ограничения сетевого трафика приложений в Linux
Группа Open Source

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

Ближайшим аналогом TrafficToll является известная проприетарная программа NetLimiter для Windows.

Инсталляция:

$ pip install traffictoll
tt должен быть запущен от root.

По ссылке продемонстрирован простой пример конфигурации.

А какие еще подобные программы под Linux вы знаете?

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

 , traffictoll, , ,

fail2ban
()

Поддерживает ли кто-нибудь pgadmin3 для postgresql-12.1 и wxGTK-3?

Форум — Development

Хаюшки. На самом деле поддерживают многие, форков на гитхабе полно, но поди найди нормальный. Пробовал dimv36/pgadmin3 и AbdulYadi/pgadmin3 – оба компиляюцца но не работают (первый кое-как работал для postgresql-11, но обновлений не вижу).

 ,

dimgel
()

sed, который «я так вижу»

Форум — Development

Решился я, наконец, выложить свой вариант sed-а, который меня устраивает. В отличии от оригинального, он работает с буфером целиком, а не построчно. Имеет дополнительный и целый стек буферов, а также счётчик, что позволяет несложно обрабатывать вложенный развесистый синтаксис, всевозможные вложенные блоки. Умеет символ '\0', правда для этого требует отсутствия любого другого символа в тексте/паттернах/заменах. Умеет перекодировать через iconv. regex-ы, подгружаемые и имена выгружаемых файлов могут быть динамически сформированы в процессе исполнения. Пока не умеет матчить номера строк, но, думаю это и не надо. Зато буковок под команды — 46.

Полное описание

В качестве примеров приложены скрипты для очистки html-ей после офисов (open/ms) и из lib.ru/samlib.ru для приемлемого результата для ручной правки или просмотра читалками.

 ,

vodz
()

Какие нативные браузерные api нужно учить?

Форум — Web-development

Не хочу учить jquery, хочется сразу писать на чистом браузерном апи. Их же очень много. Какой из них стоит учить? Вы какие нативные браузерные api используете? И все они в основном experimental, шо это значит? Когда они станут зелеными? И ещё. Мне понравился писать с => функциями, let, const и т.д. Правильно ли я делаю? На IE мне насрать.

 , ,

Deleted
()

браузер для старого лаптопа с 2gb ddr2 333 MT/s

Форум — Desktop

По причинческим технинам мне приходится временно пользоваться старым лаптопом с 2gb ddr2 333 MT/s. После установки arch (ну если честно manjaro, потому что процесс установки arch делает мои глаза совсем красными) и awesomewm им даже можно пользоваться и таки даже смотреть на тытрубе как «жопами вертят всякие б…и» (с) Ноль и даже в 666 раз пересматривать вторую часть Чужих.

Но! Я привык к фаерфоксу, но кажется он течет как девушка при менструации. Очень часто приходится перегружать старичка и по наблюдениям именно из-за фаерфокса. Еще иногда включаемый скайп вызывает демонов из ада (кто этих банановых яваскрипт мальчиков заставлял переписывать удобную программу на веб42 ноль ноль? Какой-то там jabber демон на эрланге написан (в котором даже строк нету) и работает же. Можно? Можно! А Amy Whinehouse не торчит уже 9 лет. Можно? Можно!. В общем «хочешь скайп - убей фаерфокс, хочешь фаерфокс - убей скайп»).

Я тогда подумал про оперу, но по-моему с ней что-то не то. Или это со мной что-то не то? Или я просто не умею ее готовить? Она, например, умеет показывать кино из какого-нибудь kinogo из коробки? По-моему это не работало. Что надо установить? А есть плагины вроде print to pdf, adblock plus, youtube adblock (!) и т.д.

Подскажите пожалуйста:

  • Какой браузер поставить на старичка (только не надо пожалуйста про lynx)?
  • Хромиум ведь такая же обжора и «тётка» как фаерфокс, правда?
  • Если оперу, то как ее довести до состояния, в котором ей можно пользоваться?
  • Что такое opera mini? Этот «реланиум» мне поможет?
  • Не существует ли какого-нибудь firefox mini для старичков?

PS Я понимаю, что можно ответить «не е.. мозги, докупи память». Но у этого компьютера уже метастазы, память - это далеко не единственная его проблема, я не знаю сколько ему осталось, да и то все это временно (как все мы). У меня тоже временные проблемы.

Спасибо с горы!

 ,

dissident
()

нажатие «i» при включенной русской раскладке

Форум — Admin

Я помню. что добавлял когда-то что-то такое в .vimrc, т.е. если память меня не подводит это возможно.

Проблема:

  • vim в visual mode
  • надо перейти в insert mode (например нажимая «i», вместо insert0
  • к сожалению включена русская раскладка и «i» - это «ш» В результате ничего не происходит

Не могу выгуглить как это обойти, чтобы неважно от раскладки vim переходил в insert mode при нажатии «i» или «ш». Может у кого-нибудь есть такой сниппет в .vimrc?

 ,

dissident
()