LINUX.ORG.RU

Сообщения Xenius

 

Примитивная криптография

Форум — Talks

Давным давно, в далёкой галактике энциклопедии для детей от Аванты, кажется, по Математике, я наткнулся на вот такой зашифрованный простой заменой текст:

Т ЭВЧОРКХЬЬ ТЫЬЪК Т ОЬРЫЬОЗПЬЧНРУ НЫЗЕОРФЫВЦЗЗ ЗЧЕРДШБЩСОЧК ЕРЭКОЗК З ЫЬБЩДШОВОИ ЪЭРФЗЙ ЫВБЛЬДРТ ЪВОЬЪВОЗНЗ: ВДФЬАЫИ, ОЬРЫЗЗ ПЗЧЬД, ОЬРЫЗЗ ТЬЫРКОЭРЧОЬУ, ОЬРЫЗЗ ЧДРГЭРЧОЗ ВДФРЫЗОЪРТ З ТИПЗЧДЬЭЗУ З ОВН ЛВДЬЬ. ЕРЮОРЪЩ ЛДК ЧРТЫЬЪЬЭЭРФР НЫЗЕОРФЫВЦВ ЕЫЬГЛЬ ТЧЬФР ТВГЭВ ЙРЫРМВК ЪВОЬЪВОЗПЬЧНВК ЕРЛФРОРТНВ.

Пару раз я пытался его расшифровать, но не получилось. Текст я кстати выкладывал на этот форум 12 с лишним лет назад.

Сегодня я на него наткнулся снова, перебирая старые фотографии и расшифровал. В своё время я использовал неправильный подход, в основном благодаря фразе из статьи, где этот текст был приведён:

Данные подсчетов встречаемости букв незаменимы при дешифровке текста, если при его составлении пользовались шифром замены

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

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

Команда sed 'y/АБВГ/абвг/' где я заменял угаданные буквы по порядку на те же буквы в нижнем регистре очень помогла. Одновременно сразу видно, какие буквы угаданы, какие нет и не нужно возиться с ручной заменой буквы.

Интересно, кто-нибудь ещё сможет расшифровать? И да, ответ на это гуглится. Кто-то отгадывал раньше меня, но вы же понимаете, что это будет неспортивно?

 , , , ,

Xenius
()

Кто и зачем трёт архивные сообщения?

Форум — Linux-org-ru

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

Тема эта более чем двухлетней давности. Зачем её «модерировать»?

Кроме того, что-то с движком форума, учитывая что кнопки «Показать удалённые комментарии» у архивной темы нет, так что я не могу даже посмотреть кто и что удалил.

 ,

Xenius
()

Знак присваивания

Форум — Development

А мне вот интересно, есть ли языки, где используется более естественный порядок операндов присваивания? Например «Положить объект в ящик» пишется именно так, а для присваивания это наиболее подходящая метафора. Так почему в большинстве популярных языков переменная-цель пишется первой? Разве не было бы более натуральным писать что-то вроде:

a + 1 ~ a;
a + 1 => a;
a + 1 -> a;
a + 1 → a;

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

Есть ли ЯП, где именно так и пишут?

Второй вопрос: если присваивание писать всё-таки в традиционном порядке, то почему в его основе часто используется знак =, учитывая что он означает равенство, которое есть совершенно другая операция? Как думаете, какой значок эстетичнее?

a := a + 1;
a =: a + 1;
a ~ a + 1;
a <- a + 1;
a ← a + 1;
a <= a + 1;
a = a + 1;
set a [a + 1];
...

Или ещё какие-нибудь варианты?

Какие значки есть в известных вам ЯП кроме set, =:, := и = ?

 

Xenius
()

Текстовый редактор с поддержкой контрольных спецсимволов

Форум — General

Мне нужно редактировать текст, в котором помимо обычных букв содержатся контрольные коды. Какие есть текстовые редакторы, которые позволяют корректно редактировать тексты, включая и набор этих символов (например по Ctrl-Shift-@ набор ^@ и он же NUL и он же \x00), а не только перемещение и удаление.

Причём нужен именно текстовый редактор, а не hex, поскольку большая часть содержимого - печатные символы, включая кириллицу, а контрольных кодов от силы 1%.

Кроме того, он должен корректно отображать невидимые символы, например пробелы в конце строк, табуляции должны выглядеть не как пробелы, \r в конце строк должны быть видимыми…

 , ,

Xenius
()

Как сделать резервную копию данных и прошивки с Android-смартфона?

Форум — Mobile

Имеется смартфон на базе андроида. Режим разработчика включен. Отладка по USB включена, всё что можно в настройках вроде разрешено. fastboot, похоже, не хочет образы разделов брать с телефона. adb shell под юзером shell.

Каким образом можно сделать резервную копию всех разделов телефона, перед тем как прошивать его на другую версию системы? Я бы предположил что надо или как-то получить рут-права в adb shell или применить команду в fastboot и где-то взять пару ядро и initrd с рутом. Где можно взять первое или второе без модификации прошивки?

 , , ,

Xenius
()

«Реакции» - ошибка в дизайне или недоделка?

Форум — Linux-org-ru

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

Но объясните зачем нужны остальные символы кроме thumb up и thumb down?

Вот что значит огонь какой-то?

А желтый круг с кривоватым эллипсом внутри?

Ещё один круг сверху светло-голубой снизу желтый с каким-то линиями.

Следующий тоже непонятный. Последний только более-менее ясный - фейспалм что ли?

Во всех нормальных интерфейсах кроме иконок есть ещё и текстовая подпись или на самой кнопке или в всплывающей подсказке. Например если навести курсор на кнопку со стрелкой в браузере, там пишут:

Go forward one page (Alt+Right arrow)
Right click or pull down to show history

 , reactions, ,

Xenius
()

fish: упрощённый шелл и другие несовместимые с sh. Кто-нибудь пользуется?

Форум — Talks

Вспомнил я про https://fishshell.com и даже прочитал tutorial и чуток доков. С одной стороны, вроде прикольно, обходит bash pitfall-ы, например $var никогда дальше не экспандится, с другой некоторые синтаксические особенности вызывают у меня сильные сомнения, особенно

command (subcommand | psub)

Вместо

command <(subcommand)

Мне кажется, что лепить команды в контекст где никак команды не вписываются как-то странно. Хотя… Да, по идее, команда psub может быть реализована как внешняя — вывести имя пайпа, а самой потом в него посылать данные.

В общем интересно, кто-нибудь этим пользуется? И как оно в сравнении с башем, есть какие-то неочевидные неудобства?

Ну и заодно csh/tcsh и тд, всякие шеллы не совместимые с bash/zsh/ash/mksh/ksh/dash — тоже интересно, кто-нибудь использует это?

 , , ,

Xenius
()

Философия Unix и логические парадоксы

Форум — Talks
  1. Пользователь root всемогущий, он может делать всё что угодно. Может ли root создать файл, который сам не сможет потом удалить?

Можно ли из этого парадокса сделать вывод, что пользователя root не существует?

** Да, я в курсе про патчи lockdown и прочую подобную ерунду. Её в расчёт не берём.

  1. В одной системе пользователь root каждую неделю чистил от ненужных/временных/устаревших файлов домашние каталоги тех и только тех пользователей, которые не чистили свои каталоги сами. Чистил ли root свой домашний каталог ( /root )?

 , , , парадоксы,

Xenius
()

Установка GNU/Linux на раздел Windows без редактирования таблицы разделов

Форум — Linux-install

Я тут подумал, что для виндузятников, которые очень хотят попробовать линукс, но LiveCD или LiveUSB не дают всей полноты ощущений, а редактировать таблицу разделов боятся, теоретически можно установить линукс на комп с Windows, не трогая разделы вообще. Нужно ли — это вопрос, конечно, но идея такая:

1а. На старом компе ставим grub4dos, загрузку grubldr прописываем в boot.ini (для NT4, 2000, XP) или реестр виндозагрузчика (Vista, 7 и позднее).
PS. А можно ли взять GRUB2 вместо grub4dos? Он по идее fat и ntfs тоже умеет. А может syslinux?

1б. На новом компе просто кидаем grub.efi и grub.cfg в ESP и при необходимости добавляем в меню зарузки, хотя я видел варианты EFI, которые позволяет запустить произвольный EFI-файл через примитивный файл-менеджер.

2. Создаём большой пустой файл, например rootfs.sys на несколько гигабайтов, mkfs-им и распаковываем туда корневую файловую систему из тарболла или debootstrap.

3. Формируем initramfs который будет содержать ntfs-3g и всё прочее для доступа к файлу из пункта 2 и монтирования его как корневой файловой системы.

4. Прописываем запуск ядра и initramfs в конфиге загрузчика из пункта 1.

Всё. По идее линукс должен будет запускаться. Если у вас UEFI, из этого линукса можно попробовать efibootmgr прогнать и добавить boot entry для груба.

Раньше что-то такое было в Ubuntu и Debian, но сейчас вроде от этого варианта установки отказались.

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

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

Интересно, кто-нибудь так делать пробовал?

 , , ,

Xenius
()

Игры и учебные среды для программирования

Форум — Development

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

Интересуют только такие, которые или
a) запускаются нативно на GNU/Linux и с полным исходным кодом, или
б) запускаются через браузер без регистрации, но в этом случае обязательна возможность создания своих уровней.

Те какие я уже щупал и мои впечатления по ним, что бы снова их не предлагали:

  • RoboZZle — работает через Web, есть тысячи готовых уровней, кампания с фиксированной последовательностью избранных уровней и редактор, что бы делать свои уровни. К сожалению сайт на данный момент подглючивает: вики не работает, а форум засран спамерами.
    На данный момент лучшее, что нашлось из онлайновых. Правила игры: имеется поле из квадратных клеток одного из трёх цветов (RGB), можно двигаться вперёд и поворачивать на 90°, можно проверять цвет текущей клетки и вызывать процедуры (до пяти процедур, включая F1 которая запускается при старте). В некоторых уровнях разрешено перекрашивать текущую клетку. Цель игры — собрать все звёзды на уровне.
  • Light-bot. Есть в нескольких вариантах. lightbot.lu самый простой в использовании, но крайне примитивен, так как нет ни процедур, ни условных выражений. Есть две флеш версии: [https://armorgames.com/play/2205/light-bot]первая 1.x чуть получше веб-версии, так как есть одна процедура, работает через эмулятор без флеша. Флеш версия 2.0 без флеша уже не работает, а флеш RIP, зато там уже есть зачатки control flow похожие на то что есть в Robozzle. В общем, не годится.
  • ПиктоМир. Есть две онлайн версии: https://www.niisi.ru/piktomir/online/index.html — инопланетянский интерфейс какой-то, но выглядит прикольнее, хотя сходу непонятно, какая кнопка для чего. https://online.piktomir.ru/index.html — задания и команды те же самые, интерфейс более понятный, есть справка, но выглядит скучновато. Пока что нигде не нашел комментариев, почему в онлайне висит две версии и какая новее.
    Ещё есть оффлайн версии, причём на одном сайте только для Windows и мобильных платформ, а на другом и для Linux, но где исходники этой версии, я не нашел, возможно она проприетарная.
    Система команд — что-то среднее между robozzle и lightbot, и имеет команды и оттуда и оттуда. Control Flow есть, но сделан довольно сложно и топорно, а не красиво и элегантно, как на roboZZle.
    В ПиктоМире у процедуры в начале есть опциональный флажок, куда можно вставить повторитель на фиксированное к-во раз (от 1 до 6), условное выражение или условие цикла while. Причём, можно ли вставить флажок и какого типа решает составитель уровня, а не игрок.
    В то же время в robozzle никаких специальных операторов не требуется, поскольку можно, например, внутри F2 в конце положить вызов F2 на красной клетке. Тогда получится цикл while (red) {остальной код}. А если процедура сама себя не вызывает, то её вызов будет иметь эффект if(some color) {код процедуры} и так далее. Имитировать счётчик для фиксированного числа повторений можно с помощью процедуры с не-хвостовой рекурсией.
  • Cargo-Bot Online — клон игры Cargo-Bot, работающий в браузере. (UPD)
    На нескольких (вроде не более 8) платформах расположены башни из ящиков четырёх цветов (красный, желтый, зелёный, голубой) высотой не более шести штук. Над ними на рельсе может перемещаться кран. Цель игры — переместить эти ящики на указанные платформы в указанном порядке.
    Система команд очень похожа на RoboZZle, и как оказалось, написана под впечатлением от неё: взять/положить ящик (одна и та же команда), сместиться к платформе слева, сместиться к платформе справа, вызов процедур от первой до четвёртой. Каждая команда может быть выполнена в зависимости от содержимого крана (пустой, любой ящик, ящик конкретного цвета).
    На мой взгляд, RoboZZle интереснее, так там работа идёт в двумерном пространстве. Кроме того, нет редактора уровней.
    UPD Нашел версию лучше, старая ссылка вот.

Далее, три похожих игры про гусеничного робота:

  • Кодвардс — программа пишется на урезанном CoffeeScript, с добавлением цикла.
    loop 3
        robot.rotate left
        robot.move 1
        robot.rotate right
        robot.move 1
    end
    Если залогинится, то дают доступ к демо курсу, где нет ничего кроме этих двух команд, даже циклов и условий, а дальше платно и дорого. Лучше тыкать в режиме Hour of Code, там чуток интереснее и есть другой исполнитель, который может поднимать предметы на двух картах. В общем на один раз пройти и забыть сгодится. Регистрация того не стоит. Кроме того, не запоминает написанный код. Если перейдёте на предыдущий уровень — начинайте заново.
  • RoboMind — программа пишется на языке, похожим по синтаксису на C, только циклы называются по-другому, в частности есть repeat(3) {} для повторения фиксированное к-во раз, repeat {}, откуда выход только через break или end, repeatWhile () {} (аналог обычного while () {} ). Команды движения выглядят как forward, backward (заменяется forward с отрицательным аргументом), left, right, paintWhite, StopPainting, pickUp, putDown. У команд движения в скобках можно указать аргумент, например backward(-2) эквивалентно forward(2). Если зарегистрироваться, открываются дополнительные «курсы», где я видел Python в качестве управляющего языка. Есть Offline-версия на Java 11, но исходников я не нашел, хотя лицензия указана Apache. До этого была проприетарной и платной и требовала лицензионного ключа. В русской версии Hour Of Code где-то посередине был баг, мешающий пройти. Хотя может уже устранили.
  • Karel the robot — похоже на предыдущие два, но есть задания чуток сложнее и интереснее. Не требует регистрации, но есть некие continuation code, которые позволяют получить доступ сразу к последним заданиям из другого браузера. Примерно как пароли к старым играм. Язык самый простой из всех перечисленных — упрощённый python, с ещё более короткими командами (go, left, right, get, put) и без необходимости писать : после if, while, и с отступами в качестве операторных скобок, например так выглядит код для предпоследнего задания:
    while not home
      while not wall
        if sword
          get
        go
      left
    
    В отличии от двух предыдущих, здесь нет пульта, где можно вводить команды мышью.

На мой взгляд, для того кто уже умеет программировать из этих трёх интереснее всего последний, так как можно сразу начать со сложных заданий без регистрации и не продираясь через «сходи пять раз вверх, поверни направо, сходи три раза, поверни налево...»

Меня интересует, есть ли что-то подобное перечисленному, но с понятной свободной лицензией, работающее на GNU/Linux? Что бы именно робот, который ходит по миру с препятствиями, может идти вперёд и поворачивать и управляется кодом, который можно писать текстом.

Другие браузерные игры. Не то, что нужно, но тоже кому-то интересные:

  • http://box-256.com/ — Восьмибитный компьютер, работающий через браузер с 256 байтами памяти, где нужно писать программу на ассемблере. Написан, к сожалению на Unity, поэтому несвободный и долго загружается.
  • https://alexnisnevich.github.io/untrusted/ — выйти из лабиринта, меняя код игры (на java script)
  • https://david-peter.de/cube-composer/ — Паззл, из одной башни кубиков собрать другую башню кубиков.
  • Jahooma's LogicBox — на входе имеется строка. Есть базовые блоки: стартовый, удаление первого символа, проверка первых двух символов на совпадение, удвоение первого символа и просто перенаправление входа на выход и составные блоки, которые надо сделать самому в первых уровнях из базовых, а в следующих можно их использовать. Блоки нужно выстраивать на сетке 6 на 7 клеток, что бы получался нужный результат на выходе. Первые 10 уровней простые, на 10 резко возрастает сложность.
  • blockly.games — семь игр для обучения программированию. Правда здесь используется Scratch и только в последней игре можно писать ещё и кодом на JavaScript. Задания все относительно несложные.

Ещё есть множество всяких онлайновых игр на code.org, tynker.com и нескольких других сайтах, но они все дальше простейших условных выражений и циклов не идут и довольно однотипные и слишком простые, поэтому подробно останавливаться не буду. Может там есть что-то более интересное, но это надо копаться и перебирать все.

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

Из таких я видел две:

  • KTurtle — имеется в комплекте KDE, ничего дополнительно ставить не надо, часто ставится прямо сразу с системой. Что можно сказать — черепашка, может рисовать картинки. К сожалению не очень зацепило, так как нет уровней с заданиями которые можно проходить. Кроме того, на мой взгляд роботы в мире с препятствиями интереснее.
  • КуМир — не смотря на невзрачный вид, эта система на мой взгляд лучше всех перечисленных выше, поскольку её исходный код сразу доступен, не нужно и можно его скачать и скомилировать, а можно взять готовые бинарники, включая автоматические ночные сборки.
    Сразу после установки доступен один «практикум», что в терминах игр эквивалентно кампании. Задания довольно простые, но можно проявить творческий подход и написать более универсальный код, чем минимально необходимый для прохождения автоматического теста.
    В среде есть всё необходимое для разработки своих «практикумов», включая редактор «учителя», где доступны функции и процедуры, заблокированные для «студента», но позволяющие писать проверяющие алгоритмы. Для исполнителей есть простые редакторы сред, позволяющие, например, нарисовать лабиринт.
    Программирование ведётся на диалекте Учебного алгоритмического языка, который используется в некоторых школьных учебниках информатики.
    алг Вперед
    нач
    · цел напр
    · напр := mod(направление, 4)
    · выбор
    · · при напр = 0: игрек := игрек + 1
    · · при напр = 1: икс := икс + 1
    · · при напр = 2: игрек := игрек - 1
    · · при напр = 3: икс := икс - 1
    · все
    · вперед
    кон

    Язык на мой взгляд неплохой, близкий по духу к Паскалю, но имеющий особенности синтаксиса, которые появились только в более поздних языках. Например, нач (аналог begin) нужен только в начале описания подпрограммы (алгоритма, алг), а для циклов и условий используются другие операторные скобки (кц ... нц и если ... то ... иначе ... все), для объявления переменной достаточно написать её тип и имя как в C, а слово var и двоеточие как в паскале не нужно.
    Имеется довольно много синтаксического сахара, облегчающего читаемость кода. Например, функции и переменные могут иметь имена из нескольких слов, разделенных пробелами, е и ё эквивалентны. Логический оператор не можно воткнуть между не только перед, но и между словам в многословной логической функции, например можно написать если не справа стена то ... все, а можно если справа не стена то ... всё и в цикле можно написать нц 3 раз ... кц, а можно нц 3 раза ... кц.
    Понравилось в этом языке разделение функций и процедур. И те и другие имеют синтаксис алг нач кон с опциональными параметрами, которые могут быть входными, выходными (рез) входными-выходными (арг рез или аргрез). Объявление функции выглядит так же, только добавляется ключевое слово типа возвращаемого значения (цел, вещ, лог, лит и тд) между словом арг и именем алгоритма. Возврат значения выполняется с помощью присвоения специальной переменной знач вместо аналога return, что на мой взгляд хуже.

    Есть конечно и недостатки. Использование кириллических символов и русской лексики затрудняет понимание кода иностранцам, а писать сам код менее удобно, так как <> (сравнения) [] (массивы) | (комментарии) набирать из русской раскладки по умолчанию нельзя. Впрочем этот недостаток легко решается с помощью самой IDE, где вроде бы есть сочетания клавиш, которые вставляют эти символы из русской раскладки, но даже если бы их не было, и в Windows и в GNU/Linux можно сделать свою раскладку, использующую вторую клавишу регистра (Обычно AltGr, он же правый альт) или поставить готовую. Ну и переключение раскладки одним нажатием CapsLock (или чего-нибудь другого на вкус пользователя) вместо комбинации из двух нажатий типа Ctrl-Shift тоже сильно облегчает набор символов, недоступных в текущей раскладке.
    Но, на мой взгляд, непривычная лексика — это не особо значительный минус. Чем кц пока ... нц из КуМира хуже какого-нибудь repeatWhile () {} из RoboMind? По-моему, ничем. А, поскольку код во всех этих системах, сугубо учебный, то и необходимости шарить его с иностранцами особой нет.

Интересуют только свободные игры, где есть готовые кампании с уровнями с плавно, но не слишком медленно повышающейся сложностью и возможностью делать свои уровни. Просто какие-то среды типа KTurtle — их полно, но там или готовых задачников/кампаний нету или есть, но дальше освоения простейших конструкций языка они не идут. В этом плане мне понравились задания из Karel Challenges, там есть например рекурсивный сбор яблок, выложенных в виде двоичного дерева. Не слишком сложно, но и не слишком просто. Хотелось бы ещё чего-то вроде прохождения лабиринта, но не по правилу левой или правой руки, а по более продвинутым алгоритмам, где правило * руки не работает.

 robozzle, , кумир, ,

Xenius
()

glibc, fputsws выводит текст транслитом. Почему?

Форум — Development

В общем, вот такой код (комментарии убираю, так как там закомментированы другие варианты, которые тоже не работают):

$ grep -v // literal.c; gcc -o literal literal.c; echo output:; ./literal; echo
#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main () {
	wchar_t* s;
	setlocale(LC_CTYPE,"UTF-8");
	s=L"Привет, мир!";
	fputws(s, stdout);
}
output:
Privet, mir!

Что за ерунда, почему транслит? Я же написал UTF-8. Если написать обычную строку, то всё работает.

 , ,

Xenius
()

Терминал в виде чат-мессенджера: ересть или удобство?

Форум — Talks

Я думаю, все видели или пользовались разными чат-программами, например джаббер-клиентами, IRC-клиентами, веб-чатами.

Общее у них — это разделение области ввода и области вывода.

Почему подобное не используется в интерфейсе с компьютером?

Преимущества:

1. Многострочный ввод становится очень простым, например Ctrl-Enter или Shift-Enter переводит строку, просто Enter посылает на исполнение. Или наоборот. Копирование шелл-команды даже с переводами строк не посылает её на исполнение.

2. Если работающая в фоновом режиме программа послала сообщение на stdout или stderr, то оно никак не повлияет на поле ввода.

3. Как команды пользователя, так и ответы системы (результаты выполнения программы) могут сопровождаться метками времени, позволяющими узнать, сколько заняло исполнение команды без time. Кроме того, можно узнать, прочитав лог консоли, когда была выполнена та или иная команда.

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

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

6. В поле ввода и вывода можно реализовать подсветку синтаксиса у введённой команды.

Недостатки:

1. Псевдографические (nano, mc, top) приложения не будут работать.

2. Не будет совместимости с графическими телетайпами типа VT100.

Есть ли такие терминальные программы для GNU/Linux? Пробовали? Как впечатления?

 , ,

Xenius
()

Аналог startx или xinit для wayland

Форум — General

Я тут поставил Archlinux в первый раз. В принципе с pacman и aur разобрался, хотя и неудобно, но там по умолчанию wayland вместо полноценных Иксов и как его запустить я не понимаю. Команды startx и xinit нету.

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

Пакет wayland точно уже установлен. Может надо ещё что-то установить?

P.S. Проблема решена: надо было установить пакет weston, после этого командой weston оно и запускается, а уже там в уголке значок, который запускает weston-terminal.

После этого я посмотрел переменные окружения, увидел

WAYLAND_DISPLAY=wayland-0
Видимо, для запуска софта в сессии Wayland из-под чистой консоли нужна эта переменная, но точно не проверял

 , ,

Xenius
()

Количество кусков на которые режется круг

Форум — Development

На окружности помещают n равномерно распределенных точек, а затем все их попарно соединяют отрезками. После этого считают p(n) — количество частей, на которые оказался поделён круг. Например:

  • p(1) = 1 отрезков нет,
  • p(2) = 2 один отрезок по диаметру режет круг на две части,
  • p(3) = 4 правильный треугольник режет круг на три сегмента и сам треугольник даёт один кусочек,
  • p(4) = 8 квадрат режет круг на 4 сегмента снаружи и четыре части внутри (из-за диагоналей),
  • p(5) = 16 у пятиугольника пять сегментов снаружи, пентаграмма из 6 кусков внутри и ещё пять кусочков вокруг этой звезды.

    Чему равно p(6)?

    Как можно посчитать p(n) на компьютере, в смысле алгоритма и языка?

 , ,

Xenius
()

Почему совершенно разные роутеры называются одинаково, а похожие по-разному?

Форум — Linux-hardware

Я давно уже заметил, что на роутере какой-то модели может стоять абсолютно разное железо, например SoC разных производителей (Atheros, Ralink, Broadcom), корпус может выглядеть совершенно иначе, тем не менее, называют все эти разные роутеры теми же буквами, например D-link DIR-300 или Asus RT-12, при этом с другой стороны, железо настолько похожее, что даже прошивки совместимы может называться по-разному, например D-link DIR-300 и DIR-600.

Почему не называют роутеры более логично? Например несколько букв на тип устройства (роутер/свитч/тд), потом тип корпуса и например дальше процессор, флеш и оперативка.

Кроме того, почему-то в технических характеристиках роутера пишут всякую ерунду, а самое важное приходится искать по сайтам и форумам: SoC, Flash, RAM

 , ,

Xenius
()

Что на самом деле произошло со Столлманом

Форум — Talks

Поскольку в виде комментария моё сообщение затеряется в десятках страниц, решил создать отдельный тред.

А началось всё с Джеффри Эпштейна. Он занимался сутенёрством, в том числе и с несовершеннолетними и против воли последних.

В 2002 году, когда о преступлениях Эпштейна ещё не было известно, он был организатором конференции по искусственному интеллекту. Там он он приказал одной из девушек подкатить к Минскому — известному учёному и основателю лаборатории Искусственного Интеллекта в MIT. Он отказался, но об этом стало известно лишь позже. Девушка же только сказала, что ей было приказано к нему подкатить, а что дальше происходило не уточняется.

Из-за этого все в списке рассылки CSAIL (Computer Science and Artificial Intelligence Laboratory) думали, что он таки согласился.

Ричард Столлман высказался в защиту Минского, который умер трёмя годами ранее и сам прокомментировать ничего не мог, предположив, что девушка могла притвориться, что ей самой этого хотелось.

Далее пришла Селам Джи Гано, которая с FSF не связана, а просто училась в MIT, откопала этот список рассылки (непубличный), переврала слова Столлмана, убрав слова «могла притвориться», сама этому ужаснулась, написала всем журналистам кому можно, опубликовала статью «Уберите Ричарда Столлмана».

Волну подхватили издания, такие как Vice, где всё переврали ещё сильнее и написали, что Столлман защищал самого Эпштейна, хотя сам RMS недвусмысленно сказал, что его не поддерживает на своём сайте.

Затем подключились другие: Мэттью Гарретт, Sage/Sarah Sharp, Сара Мей, Neil McGovern (исполнительный директор GNOME) вообще пригрозил разрывом отношений с FSF.

В итоге Столлману пришлось подать в отставку в MIT и FSF.

 ,

Xenius
()

Нужен ли программируемый калькулятор в 2019 году?

Форум — Talks

Интересует опыт использования таких машин на практике. Есть ли преимущество перед смартфоном с каким-то мат. софтом?

Если пользуетесь, то назовите модель, для чего пользуетесь и на чём там можно программировать.

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

 , ,

Xenius
()

Какой можно взять самый дешевый программируемый калькулятор?

Форум — Mobile

Меня интересует, какой можно приобрести калькулятор, за сумму не превышающую 20, а лучше 10 долларов (не более 1500, а лучше не более 700 рублей), чтобы он был программируемым.

Не просто научный калькулятор с формулами, такой у меня есть, даже не один, а именно с возможностью полноценного программирования на тьюринг-полном языке. В идеале ещё желательна связь с компом по UART или USB или там IrDA, чтобы можно было программы заливать/скачивать с него.

При этом тратить более 1000 рублей на него я не готов.

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

Ограничение цены жесткое, поскольку вдвое дороже я подходящий вариант уже вижу, но хотелось бы недорогой, в идеале в пределах 600р, пусть даже он будет не такой продвинутый.

Да, интересуют варианты которые имеются в продаже сейчас новые, а не всякие советские MK-85, хотя этот вариант рассматриваю.

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

 , , ,

Xenius
()

Как узнать, на какой часовой пояс настроен комп с линуксом?

Форум — Talks

Всё просто:

Набираем в консоли это и получаем текущую временную зону:

find /usr/share/zoneinfo* -type f -exec md5sum {} + | grep `md5sum /etc/localtime | cut -d\  -f1`

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

А какой способ используете вы?

 , ,

Xenius
()

Зачем загрузчик MS Windows 10 ломает сам себя?

Форум — Talks

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

Я удалил раздел Windows, но загрузчик не трогал, при этом полная копия сохранялась. Затем один раз загрузил загрузчик винды из интереса, посмотреть, что он скажет, если нет раздела C:

Загрузчик выдал ожидаемое сообщение, что раздел не найден, затем я передумал, и решив сделать по-другому, накатил раздел обратно, точно как он был, включая начальный и конечный сектор, UUID в GPT и тд — до последнего байта так же как было.

Тем не менее Windows не загружался, хотя всё было точно как было, я проверял. Единственный возможный вывод — загрузчик Windows сам испортил свою конфигурацию.

Более того, после загрузки с установочного носителя Windows 10, автоматическое восстановление загрузки покрутило кружочком и ничего не сделало и не выдало никакой диагностики.

Вот такой Windows user friendly.

А линукс тут при том, что ни GRUB, ни Lilo никогда не перезаписывают свою конфигурацию сами по себе.

 ,

Xenius
()

RSS подписка на новые темы