Pull to refresh
114
0
Вадим Прилуцкий @Oxyd

Админ Linux

Send message

Что-бы понять рекурсию, нужно понять рекурсию.

На lua (как ни странно нет math.gcd())

#!/usr/bin/env lua

function gcd(a,b)
    if b == 0 then return math.abs(a)
              else return gcd(b,a%b)
    end
end

DataSet = {2, 9, 6, 10, 5}

print (gcd(
              (math.min
                  (table.unpack(DataSet))
              )
                  ,
              (math.max
                  (table.unpack(DataSet))
              )
          )
      )

На REXX, тоже самое. Разумеется там тоже нет gcd. Но дедушка старенький, дедушке простительно. ;-)

#!/usr/bin/env rexx

/* Find min, max and gcd of min and max */

DataSet="2, 9, 6, 10, 5"

INTERPRET "Min=min("Dataset")"
INTERPRET "Max=max("Dataset")"
SAY gcd(Min, Max)

EXIT

gcd: procedure
PARSE ARG a,b
IF b = 0 THEN RETURN abs(a)
RETURN gcd(b,a//b)

Да, бобик регистронезависимый язык и в нём нет зарезервированных слов. Так min() здесь и функция и Min переменная. Далее язык понимает по контексту. Но злоупотреблять этим конечно не стоит.

Это разные проспекты, по названиям. Большой проспект ВО и большой проспект Петроградской стороны. А вот то что в пределах одного Петербурга две Казанские улицы (одна в центре, у Казанского собора, вторая на Охте), это куда как хуже.

Было бы удивительно если бы superuser не имел полных прав в системе. Поэтому и были придуманы sudo, doas и блокировка root аккаунта. sudo логгирует действия вызвавшего его пользователя.

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

Начнём с того что первая VCS появилась аж в начале 70-х, а к 95-му году уже CVS вовсю цвёл и пах! А для простых сценариев и учиться не надо (git add / git commit) У меня, при помощи etckeeper они срабатывают вообще автоматически -- по крону или если какой-то софт обновился с новыми версиями конфигов.

В OS/2 он во первых имеет строго ограниченную глубину дерева, а во вторых хранит не только конфигурацию, но и стейт объектной оболочки WPS ( то есть используется как объектная БД ). Вся системная, не связанная с GUI конфигурация хранится в текстовых файлах.

В редакторе можно включить отображение... Не пайтон, но тем не менее.

А ещё last , groups, rev, blockdev... Не говоря уже о systemd специфичных всяких resolvectl которые, в отличие от например ncdu / gdu / dua есть чуть менее чем на каждой современной системе. Да тот же top. Много кто им умеет по настоящему пользоваться? Хотя он даёт те же метрики и даже больше, что и htop.

Да вон же! На последней фотке, в строке приглашения, вместо бакса та самая черепашка!

Ну вот зачем было подсказывать? ;-) Тем и отличаются всякие такие теоретические списки с кучей хипстерских утилит, от практики и хардкорных util-linux и сотоварищи. ;-)

Окей! А как максимально быстро создать файл любого размера? Ну например для использования под своп или создания raw image. ;-)

Всё уже придумано до нас. ;-)

export VAR1="bla-bla-bla" VAR2="blablabla" VAR3="blabla-bla"
envsubst < file_with.vars|tee file_with.vars >/dev/null
И вот как-то так оно и работает

Если кому нужна подсвечивалка по регуляркам, ловите, мне не жалко. ;-)

#!/usr/bin/env bash
#
# hlt approved by shellcheck ;-)
#

hl_start="\\\e[0;1;4;32m"
hl_end="\\\e[0m"

usage() {
	cat << 'EOF'
hlt: 'sed -E' regular expression highlighter from file or stdin.
  Usage: 
      hlt '<regular expression>' <file>
      or command | hlt '<regular expression>'
EOF
exit 1
}

if [[ -z "$1" ]]; then
	usage
fi

if [[ -n "$2" ]]; then
	file="$2"
else 
	file="/dev/stdin"
fi

result="$(sed -E "s/(""$1"")/$hl_start\1$hl_end/g" "$file")"
echo -e "$result"

exit 0

А главное практически всегда есть в системе. И да. это реально самый простой шаблонизатор. Но творение автора тоже может быть применимо в определённых кейсах.

PS: Такое чуйство, что автор раньше писал статьи для Журнал Хакер ;-)

Подскажите. А дефолтные настройки sudo / sudoers всё так же дико несекьюрны? (отображение количества символов вводимого пароля астерисками, таймаут на сессию аж целых 15 минут и это вот всё)? А то когда мой падаван в своём минте шарит экран, я иногда периодически выпадаю в осадок. ;-)

Диалекты markdown всё чаще и чаще заменяют разнообразие вики-движков.

И в рифму к ним мантисса и биссектриса (это такая крыса, которая бегает по углам и делит угол пополам) Извините. ;-)

Не холивара ради, а интересу для. Современный русский -- самый неславянский из всех остальных славянских.
Где-то по интернету бродит табличка со списком слов на куче славянских языков (русский, польский, чешский, белорусский, украинский etc), где они ± одинаковы, кроме русского. КМК именно поэтому большинство носителей великого и могучего так плохо понимают соседей, украинцев и белорусов, не говоря уже о более дальних "родственниках".

Юзаю Mindforger (Linux, Windows, MacOS). Исключительно локальная софтина (безо всякого электрона) хранящая инфу в plaintext Markdown, вместе с метаинформацией, в виде комментариев, в этих же файлах. Всякие медиа, в виде картинок хранятся рядом (но никто не мешает хранить картинки с урлами на ресурсы из интернетов). Бэкапирование, синхронизация и версионирование при помощи вашей любимой CVS (Git, SVN etc) Хештеги, перекрёстные ссылки, поддержка matjax, диаграмм (честно забыл какого стандарта ;-)), автодополнение и live preview в редакторе ну и прочие плюшки в комплете. Идеология блокнотов, по разным темам, но при этом сквозной поиск и рефакторинг (у меня отдельный блокнот для быстрых заметок, страницы из которого я, после причёсывания раскидываю по тематическим блокнотам). Вобщем софтина хоть и несколько специфическая, но мои потребности в "Энциклопедии юных сурков", перекрывает пожалуй полностью. Увы, но мобильной версии нет.

Гораздо раньше Доктора устройство для раздавания лещей, в виде будильника, сделала

Simone Giertz

:-)

Мне больше нравится телеграм-бот @ZXRasterBot от камрада @Error1024 делающий вот такое прекрасное. Там можно часами подбирать подходящие под конкретную картинку параметры.

1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Registered
Activity