RSS
# Re: Фантастические консоли и где они обитают
develop.16
btimofeev(tavern,13) — johnbrown
2020-09-26 13:53:33


johnbrown> Там, какой-то высокоуровневый ассембер, как я понял, используется, надеюсь будет полегче. Давно хотел приобщиться. Вчера читал руководство по нему, про звуки ничего не нашёл, думал не поддерживает вообще. Ну, здорово, что консоль реально существовала, не фэнтези )

Она реально не существовала. Chip-8 больше похож на Java или современные виртуальные консоли, это была типа виртуальная машина которая проигрывала игры написанные на этом простеньким ассемблере. А распространялось это на несколько разных компьютеров тех лет.

Ассемблер там простой, я писал небольшую статью с примерами и разбором кода как выводить изображения и обрабатывать события клавиатуры, если интересно можешь почитать https://emunix.org/post/writing-chip-8-emulator-part-3/

# Re: Фантастические консоли и где они обитают
develop.16
johnbrown(ping,9) — btimofeev
2020-09-26 12:55:06


> Я когда-то интересовался одной из первых подобных платформ, разработанной еще в 70-х годах - CHIP-8. Там всего два цвета на экране, разрешение 64х32, 16 кнопок клавиатуры, из звуков только "Бииип" и игры пишутся на ассемблере. Но игры конечно простенькие - пинг-понг, арканоиды и подобное. Я учился азам написания эмуляторов на этой системе - вот тут мой эмулятор лежит https://github.com/btimofeev/emuchip

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

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

# Re: Фантастические консоли и где они обитают
develop.16
hugeping(ping,1) — johnbrown
2020-09-26 08:49:01


Если мне захочется "живого" железа, я скорее всего выберу спектрум. В детстве я программировал на БК0010-01, а вокруг были спектрумы. Поэтому, интересно. :) Даже читал книгу по железу спека не так давно. Но реально, не уверен что руки дойдут. Много всего. :) Сейчас вот Plan-9 увлёкся.

А в плане виртуальных консолей, PICO8 для меня лучшая. В ней есть баланс ограничений, которые (на практике проверил) идеально для меня подходят. Жаль, что закрытая только. Но хотя бы формат игр открыт и есть открытые плееры...

# Re: Фантастические консоли и где они обитают
develop.16
btimofeev(ping,6) — johnbrown
2020-09-26 06:36:16


Я когда-то интересовался одной из первых подобных платформ, разработанной еще в 70-х годах - CHIP-8. Там всего два цвета на экране, разрешение 64х32, 16 кнопок клавиатуры, из звуков только "Бииип" и игры пишутся на ассемблере. Но игры конечно простенькие - пинг-понг, арканоиды и подобное. Я учился азам написания эмуляторов на этой системе - вот тут мой эмулятор лежит https://github.com/btimofeev/emuchip

# Фантастические консоли и где они обитают
develop.16
johnbrown(ping,9) — All
2020-09-25 18:16:12


Изучаю, время от времени, консоли из этого списка: https://github.com/paladin-t/fantasy

Приглядываюсь, прицениваюсь, так сказать. Тики, Пики, Лики... Хочется низкоуровневой 8-битной экзотики на асме или чтобы вообще без кода. Думал уже ничего не может быть проще Битси. Оказалось, может.

PIX64. Это такой no-code в "пейнте". А может и не в "пейнте". Ну, то есть, берем мышку, создаем 64x64 png, и оно как-то там само все движется...

Осталось только найти для него удобный редактор. А в идеале - конвертер, чтобы из npp прямо в png, типа как xmp (кстати, кроме гимпа, кто-нибудь может работать с этим форматом?)

А вы себе что присмотрели?

# Re: Признание в любви к Го от старого сишника
develop.16
hugeping(ping,1) — boscholeg
2020-09-11 12:46:28


> Вы его так рекламируете. Что хочется прям почитать про этот ваш Го.

Если нравится Си, то понравится и Go. Хотя я был уже подготовлен Питоном и Lua, но всё-равно, думаю, понравится.

# Re: Признание в любви к Го от старого сишника
develop.16
boscholeg(ping,5) — hugeping
2020-09-11 12:34:46


Вы его так рекламируете. Что хочется прям почитать про этот ваш Го.
Хотя после си, перла, пхп, питона и "богомерзкого" JSа в голове и так полная каша. :(
Жаль мозги прокачать не получается.

# Re: Признание в любви к Го от старого сишника
develop.16
Andrew Lobanov(tavern,1) — hugeping
2020-09-11 04:55:09


hugeping> Что бы там не говорили злопыхатели, golang прекрасен! Пока делал ноду, полюбил его ещё больше. Конечно, пока пишу совсем не "идеоматичный" код, но начал постепенно его чувствовать.
hugeping> Лично для меня это что-то вроде "Си" на стероидах. Что-то между низким уровнем (с его простотой) и современными более абстрактными языками. Идеален для написания бекендов!
hugeping> А его кросскомпиляция? Наконец-то я избавился от вороха зависимостей, dependency hellов и избежал унылой участи запускать всё в контейнерах. И всё это благодаря go!
hugeping> Помню, когда читал книжку, чуть не плакал. Везде сквозил дух старого доброго Си, но только переосмысленный.
hugeping> Короче, Роб Пайк рулит! Спасибо за наше счастливое детство!

Когда пробовал go испытал примерно те же чувства. Пайк и Томпсон всё таки молодцы и понимают в языках :)

# Признание в любви к Го от старого сишника
develop.16
hugeping(ping,1) — All
2020-09-10 19:45:35


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

Лично для меня это что-то вроде "Си" на стероидах. Что-то между низким уровнем (с его простотой) и современными более абстрактными языками. Идеален для написания бекендов!

А его кросскомпиляция? Наконец-то я избавился от вороха зависимостей, dependency hellов и избежал унылой участи запускать всё в контейнерах. И всё это благодаря go!

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

Короче, Роб Пайк рулит! Спасибо за наше счастливое детство!

# Re: Mutt
develop.16
jmaks(tavern,12) — Andrew Lobanov
2019-11-06 15:38:10


Anotheroneuser>> Не найдётся у кого-нибудь muttrc для mail.yandex? Или ссылки на нормальное руководство.
AL> Ну так mutt это только читалка. Unix-way же. Гуглиться надо, например, про связку mutt + fetchmail + procmail + msmtp.
AL> Mutt для чтения и написания писем, fetchmail скачивает почту с сервера, procmail сортирует её, msmtp отправляет почту.
AL> Если не забуду, тр вечером посмотрю у себя. Где-то должны были остаться конфиги для этого добра.

Лучше написать таки своё; и сабж разберёшь, да и свои таки сделаешь настройки.

https://syslogblog.blogspot.com/2008/10/mutt-fetchmail-exim4-smarthost-debian.html
Вот кстати, одна из статеек в этих ваших интернетах; её таки писал сам gl00my aka Peter.

А так да, ничего не поменялось принципиально за много лет.
Вот тут можно поискать настройки и примеры mutt и прочих, линуксформат крутой был журнал. R.I.P.
Press 'F' просто... Эх, грусть...
http://wiki.linuxformat.ru/

У димы можно посмотреть базисные штуки, дефолтные конфиги, довольно много всяких гайдов напилено...
https://www.dmosk.ru/miniinstruktions.php?mini=mutt

На линуксцентре тож, что-то годное помню почерпнул для себя
http://www.linuxcenter.ru/lib/articles/networking/linuxmail.phtml

Так же как и на опеннете
https://www.opennet.ru/docs/RUS/mutt4users/

+++ Caesium/0.4 RC1

# Re: android dev
develop.16
vit01(mira, 1) — jmaks
2019-11-03 17:19:39


jmaks> vit01, btimofeev
jmaks> Подскажите товарищи, накидайте годной маны, как быстро без регистрации и смс, собрать простую приложуху под сабжевую систему на смартвоне любом, умеющую одной кнопкой --пересобирать мир--, запускать стрим потока в строенный в приложуху радиво плеер?!

btimofeev уже всё объяснил, достаточно лишь разгрести исходники парочки приложений-плееров на F-Droid

jmaks> Ну и вообще, как бы другие советы, на чем/под чем и как лучше, удобнее, современнее собирать apk?!

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: android dev
develop.16
btimofeev(tavern,13) — jmaks
2019-11-02 18:36:57


jmaks> Ну и вообще, как бы другие советы, на чем/под чем и как лучше, удобнее, современнее собирать apk?!

Проще всего поставить Android Studio https://developer.android.com/studio Программы пишутся на Java/Kotlin/C/C++

Ну а дальше можно начать с изучения документации https://developer.android.com/guide/ или startandroid.ru

Ещё в последнее время становится популярным фреймворк Flutter https://flutter.dev/ Он позволяет писать нативные приложения сразу и для Android и для iOS и для веба. Здесь программы уже пишут на языке Dart. Правда и АПК с хелло ворлдом будет иметь размер мегабайт 10.

# Re: android dev
develop.16
jmaks(tavern,12) — btimofeev
2019-11-02 16:06:17


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

Ну и вообще, как бы другие советы, на чем/под чем и как лучше, удобнее, современнее собирать apk?!

# Re: android dev
develop.16
btimofeev(tavern,13) — jmaks
2019-11-02 13:08:23


Тебе нужно приложение для проигрывания одной интернет-радиостанции?

Можешь посмотреть исходники приложения Transistor https://github.com/y20k/transistor, оно довольно простое.

# android dev
develop.16
jmaks(tavern,12) — All
2019-11-02 10:20:08


vit01, btimofeev
Подскажите товарищи, накидайте годной маны, как быстро без регистрации и смс, собрать простую приложуху под сабжевую систему на смартвоне любом, умеющую одной кнопкой --пересобирать мир--, запускать стрим потока в строенный в приложуху радиво плеер?!

# Re: Шуточные песенки про С (Папа может в СИ)
develop.16
vit01(mira, 1) — Peter
2019-08-11 08:19:27


Peter> Но вторая -- давно известная шутка. А вот "ПАПА МОЖЕТ СИ" первый раз услышал. :)

Это широко известная группа Научно-Технический Рэп. Их самые хитовые песни - это "Делай бэкап", "Тыжпрограммист", "Дедлайн", "Курим мануал"

А вот по их песням про математику (да, такие у них тоже есть) я на первом курсе заучивал теоремы. Очень креативные тексты и "качающая" музыка.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Шуточные песенки про С (Папа может в СИ)
develop.16
Peter(syscall,1) — All
2019-08-10 21:37:37


Случайно наткнулся на это чудо (Папа может в СИ): https://m.youtube.com/watch?v=cdX8r3ZSzN4

А искал, на самом деле, вот это (Write in C): https://www.youtube.com/watch?v=XHosLhPEN3k

Но вторая -- давно известная шутка. А вот "ПАПА МОЖЕТ СИ" первый раз услышал. :)

# Re: Python и магия генераторов
develop.16
Andrew Lobanov(tavern,1) — Difrex
2019-07-25 08:52:33


>> Я правильно думаю, что нет простого способа просто следующее совпадение извлечь?
Difrex> Ага, нету.

Понятно. И даже ожидаемо, так как оно немного противоречит философии питона, насколько я её понимаю =)

Difrex> Скомпиль, кстати, регулярку сначала, будет еще быстрее
Difrex> ====
Difrex> r = re.compile("(.+):(.+)\n")
Difrex> ====

Как раз поигрался вчера с этим немного и собирался в ближайшее время коммитнуть это изменение. Спасибо.

# Re: Python и магия генераторов
develop.16
Difrex(dynamic,1) — Andrew Lobanov
2019-07-25 07:12:11


> Я правильно думаю, что нет простого способа просто следующее совпадение извлечь?
Ага, нету.

Скомпиль, кстати, регулярку сначала, будет еще быстрее
r = re.compile("(.+):(.+)\n")

# Re: Python и магия генераторов
develop.16
Andrew Lobanov(tavern,1) — Difrex
2019-07-25 05:33:32


>> Я её хочу обработать минимальным количеством кода
Difrex> В тему, что меня бесит -- это питоновые однострочники. Оно работает не быстрее, чем если ты запишешь это в несколько строк,
Difrex> а вот читаемость падает.

Кстати, в итоге сделал вот так вообще. Даёт небольшой прирост в скорости и по идее легче читается.

d = {}
for (key, vaule) in re.findall("(.+):(.+)\n", counts):
    d[key] = value

Кстати, насколько я понял, регулярки в re ложатся в философию питона как родные и всегда есть возможность получить или список или итератор. Или баловаться со смещением в цикле, что навряд ли будет быстро.

Я правильно думаю, что нет простого способа просто следующее совпадение извлечь?

# Re: Python и магия генераторов
develop.16
Andrew Lobanov(tavern,1) — Difrex
2019-07-25 05:33:30


>> Я её хочу обработать минимальным количеством кода
Difrex> В тему, что меня бесит -- это питоновые однострочники. Оно работает не быстрее, чем если ты запишешь это в несколько строк,
Difrex> а вот читаемость падает.

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

# Re: Python и магия генераторов
develop.16
Difrex(dynamic,1) — Andrew Lobanov
2019-07-24 14:37:26


> Я её хочу обработать минимальным количеством кода
В тему, что меня бесит -- это питоновые однострочники. Оно работает не быстрее, чем если ты запишешь это в несколько строк,
а вот читаемость падает.

# Re: Python и магия генераторов
develop.16
Andrew Lobanov(tavern,1) — All
2019-07-24 09:18:41


AL> Продолжаю учиться писать программы на питоне и возник один странный, может быть, вопрос. Есть строка, в которой хранится в "сыром" виде выхлопом x/c. То есть данные в виде
AL> ====
AL> echo.area:messages_count
AL> ====
AL> Я её хочу обработать минимальным количеством кода. Так что решил использовать генератор:
AL> ====
AL> {x.split(":")[0]: x.split(":")[1] for x in x_i.split("\n") if ":" in x}
AL> ====
AL> Но при этом мне очень не нравится дважды вызванный .split(":"). Можно как-то произвести сплит единожды для каждой итерации или придётся городить огород для этого?

Благодаря товарищам из Instead группы в ТГ решил это следующим образом:

{y[0]: int(y[1]) for y in (x.split(":") for x in counts.split("\n") if ":" in x)}

Если предложите вариант проще и быстрее, то буду рад.

# Python и магия генераторов
develop.16
Andrew Lobanov(tavern,1) — All
2019-07-24 07:21:25


Продолжаю учиться писать программы на питоне и возник один странный, может быть, вопрос. Есть строка, в которой хранится в "сыром" виде выхлопом x/c. То есть данные в виде

echo.area:messages_count

Я её хочу обработать минимальным количеством кода. Так что решил использовать генератор:

{x.split(":")[0]: x.split(":")[1] for x in x_i.split("\n") if ":" in x}

Но при этом мне очень не нравится дважды вызванный .split(":"). Можно как-то произвести сплит единожды для каждой итерации или придётся городить огород для этого?

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

# Re: CI
develop.16
Difrex(dynamic,1) — vit01
2019-04-13 09:11:01


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

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

# Re: CI
develop.16
vit01(mira, 1) — Difrex
2019-04-12 15:21:55


>>Drone CI тянет за собой Docker и, насколько понимаю, запускает его на каждый чих, при каждой сборке. Это оттолкнуло сразу
Difrex> Почему оттолкнуло? У тебя получаются изолированные повторяемые билды каждый запуск.

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

Difrex> Посмотри на CircleCI - там LISP(Clojure) :)
Difrex> А вообще, если ты хочешь опенсорс собирать, то бери TravisCI и не парься со своими серваками.

CircleCI и Travis не подходят по причине того, что это Software as a Service. Да, это удобно, быстро, прикольно, но надо всегда иметь способы быть независимыми от чужого дяди.

В конечном итоге придётся, видимо, осваивать докерные штучки вроде DroneCI и GitlabCI, а пока что я делаю тупо всё на баш-скриптах и не заморачиваюсь.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: CI
develop.16
Difrex(dynamic,1) — vit01
2019-03-16 17:17:44


>Drone CI тянет за собой Docker и, насколько понимаю, запускает его на каждый чих, при каждой сборке. Это оттолкнуло сразу
Почему оттолкнуло? У тебя получаются изолированные повторяемые билды каждый запуск.
GitlabCI тоже все в докере(dind) собирает.

>В идеале, конечно, хотелось бы что-нибудь подобного с синтаксисом вроде Ansible playbook, но чтобы многие вещи для сборки и развёртки были автоматизированы и был удобный гуй на всякий случай.
Посмотри на CircleCI - там LISP(Clojure) :)

А вообще, если ты хочешь опенсорс собирать, то бери TravisCI и не парься со своими серваками.

# Re: CI
develop.16
vit01(mira, 1) — Difrex
2019-03-16 16:32:48


vit01>> Вот я потому дженкинс и решил попробовать - из-за его тяжёлости и фичастости. Хочется оценить в работе все возможные фишки CI и потом сформировать личные предпочтения.

Difrex> Все возможные фишки все-равно не оченишь. Нужно от задачи отталкиваться. Если задача просто собрать проект и выкатить артифакт, то и писать на груви и динамически генерировать джобы через xml rpc тебе вряд ли понадобиться.

Писать на Groovy мне, конечно же, нафиг не сдалось, но вот в перспективе генерировать билды через xmlrpc - почему бы и нет? Всякое может быть

В Дженкинсе я разочаровался. В последнее время, он начал рандомно забивать в лог-файл текстовик с ошибками на несколько гигабайт.

Обновить плагины невозможно, внутренняя обновлялка выдаёт exception-ы.

Да и загружать собранную инфу через SSH дистрибутив тоже нынче отказался. Так что повозился с ним и заменил очередными баш-скриптом.

vit01>> "Может быть, достаточно было ограничиться одним bash-скриптом?"
Difrex> Какие сомнения? Gitlab CI очень фичаст, и его огромный плюс в том, что ты держишь конфигурацию билда прямо в репозитории твоего проекта.

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

Difrex> Еще и всяких гуйней нет, что плюс. Drone CI менее фичаст, но умеет тоже много чего.

Drone CI тянет за собой Docker и, насколько понимаю, запускает его на каждый чих, при каждой сборке. Это оттолкнуло сразу

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — Difrex
2019-03-01 08:57:07


>> Вспомнил. Я его смотрел, но как-то не вкурил его философию. Выглядит круто, возможности прикольные, но пользоваться им я так и не научился.
Difrex> Там фишка в том, что есть демон, который реализует сам WM, и клиент к нему. И весь конфиг клиентом делается.
Difrex> Это позволяет писать конфиг на любом языке.

Примерно как в bspwm, видимо. Есть bspwm и есть bspwmc. Конфиг на чём угодно, что умеет в шелл-вызовы. Для управления исключительно bspwmc юзается. Вкупе с sxhkd очень вкусно получается.

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Andrew Lobanov
2019-03-01 07:43:02


> Вспомнил. Я его смотрел, но как-то не вкурил его философию. Выглядит круто, возможности прикольные, но пользоваться им я так и не научился.
Там фишка в том, что есть демон, который реализует сам WM, и клиент к нему. И весь конфиг клиентом делается.
Это позволяет писать конфиг на любом языке.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Anotheroneuser
2019-03-01 07:45:10


> Допустим, мне приходится постоянно что-то набирать, организовывать сведения и прочее. Особенно недостаёт возможности верстать бумажки.
Вот у меня нет таких задач -- я с кодом работаю. 3 основных моих приложения -- это Emacs, Gnome-terminal и Firefox :).

>> У меня брат, например, перешел на GNU Emacs с Vim, переучиваться не стал -- сидит в Evil :)
>Как, кстати, отзывается? Некоторые говорят, что это, как двумя напильниками одновременно работать
Ну, ему нравится, на вим обратно не тянет :)

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — Difrex
2019-03-01 04:20:10


>> Что, кстати, в этой нише есть?
Difrex> herbstlufwm сейчас ковыряю. Выглядит очень неплохо.

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

Difrex> Еще смотрел на xmonad, но он слишком упорот для меня.

Мне он понравился, но Haskell это для меня перебор =)

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Difrex
2019-02-28 14:45:32


Difrex> Ну, я переодически выделяю себе пару часов от рабочего времени на осваивание какого-либо инструмента.
Пару часов..

Допустим, мне приходится постоянно что-то набирать, организовывать сведения и прочее. Особенно недостаёт возможности верстать бумажки.
Тут бы сразу Emacs + LaTeX, чтобы, как автомат Калашникова всё работало и экономило время. Но ограниченный ум не даёт получить всё это сразу.
Поэтому, приходится
1. Набирать текст в Emacs
2. Верстать.. пока не умею. Только оформлять в Writer.
А уж параллельно с этим — изучать.
А как ты выкручиваешься, если тебе тут же надо работать этим инструментом?

Difrex> Вот уже вторую неделю с переменным успехом пытаюсь мигрировать с i3 на что-то со статическим тайлингом :).
Поинтересовался в Сети. Там говорят, что i3 и есть статический. Как разобраться? И почему мигрируешь? А то здесь кручу i3 понемногу.

Difrex> У меня брат, например, перешел на GNU Emacs с Vim, переучиваться не стал -- сидит в Evil :)
Как, кстати, отзывается? Некоторые говорят, что это, как двумя напильниками одновременно работать

+++ Caesium/0.4 RC1

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Andrew Lobanov
2019-02-28 13:50:05


>Что, кстати, в этой нише есть?
herbstlufwm сейчас ковыряю. Выглядит очень неплохо.
Еще смотрел на xmonad, но он слишком упорот для меня.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — Difrex
2019-02-28 11:54:58


Difrex> Вот уже вторую неделю с переменным успехом пытаюсь мигрировать с i3 на что-то со статическим тайлингом :).

Что, кстати, в этой нише есть? На ум приходят только stumpwm и ion3. Первый тяжеленный, а второй мёртв.

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Anotheroneuser
2019-02-28 07:20:41


Anotheroneuser>> Как-то в процессевсе происходило, когда требоволось сделать что-то
Anotheroneuser> По всей видимости, у нас разная способность воспринимать подобные знания.
Anotheroneuser> Я пробовал и пробую усваивать их в процессе работы, но получаю дополнительный мыслительный процесс, в который погружаюсь, забывая о работе.
Ну, я переодически выделяю себе пару часов от рабочего времени на осваивание какого-либо инструмента.
Вот уже вторую неделю с переменным успехом пытаюсь мигрировать с i3 на что-то со статическим тайлингом :).

Anotheroneuser> Сочетания клавиш, конечно, надо сразу где-то использовать, потому что, находясь без дела, они забываются очень быстро.
Это да.
У меня брат, например, перешел на GNU Emacs с Vim, переучиваться не стал -- сидит в Evil :)

+++ At work. idec.el/0.1

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Difrex
2019-02-27 08:04:25


> Как-то в процессевсе происходило, когда требоволось сделать что-то

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

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

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Anotheroneuser
2019-01-26 09:33:49


Anotheroneuser> Ух ты.
Anotheroneuser> Не видел этого. Да, и это то, что нужно — спасибо.
Походу дела у меня был баг на ноде, из-за чего айдишники сообщений были длины в 19 символов.
Я это фиксил уже, но забыл пересобрать и выкатить бинарь. По-этому другие ноды не приниали
эти сообщения.

Anotheroneuser> Кстати, очень симпатичный внешний вид emacs! Не напрягает глаз. Что это за тема и шрифт?
Тема: solarized dark, Шрифт: Source Code Pro


+++ idec.el/0.1

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Anotheroneuser
2019-02-26 06:08:21


> Да, кажется, он
Да, это он =). Весной вернусь на light.

> Щас до такой степени ушёл в чтение руководств Emacs, что уже не замечаю ни тем, ни чего-либо
Я вот таким, кстати, никогда не занимался. Как-то в процессевсе происходило, когда требоволось сделать что-то. Основы за день учатся прямо из Емакса, причем на русском :)

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(dynamic,1) — Peter
2019-01-26 09:36:50


Peter> Битая ссылка. 19 символов кажется
Точно. Ты мне помог выбраться из shadow ban в который я сам себя загнал :)

+++ idec.el/0.1

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2019-02-26 05:37:31


Спасибо)
Да, кажется, он.

Поставлю при случае.
Щас до такой степени ушёл в чтение руководств Emacs, что уже не замечаю ни тем, ни чего-либо. Ужасно много времени уходит на это (всё же по-английскии..). Надеюсь, оно как-то возместится. Например, экономией времени на работу с данными.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2019-02-26 03:08:16


Это solarized dark, вроде как.

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Difrex
2019-01-25 14:30:32


Ух ты.
Не видел этого. Да, и это то, что нужно — спасибо.
Кстати, очень симпатичный внешний вид emacs! Не напрягает глаз. Что это за тема и шрифт?
Пользовался wombat до тех пор, пока не понял, что то ли она, то ли DejaVu Sans Mono Book вместе с ней -- напрягают глаза.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(tavern,23) — Peter
2019-01-25 13:27:57


Вот https://dynamic.lessmore.pw/msg/MmBCteS6yMnC2LZLbRC
:)

+++ картошки хватит на всех

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Peter(syscall,1) — Difrex
2019-01-25 10:36:02


> Так и не понял чем тебе мой вариант не подошёл, который я тут показывал ii://APcbWI1obBZ3nr5uZgt :)

Битая ссылка. 19 символов кажется

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Difrex
2019-01-25 10:02:48


Я ради Бога прошу простить — впопыхах просмотрел или упустил. Подскажи, как мне открыть это ii://, пожалуйста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Difrex(tavern,23) — Anotheroneuser
2019-01-25 07:13:06


Так и не понял чем тебе мой вариант не подошёл, который я тут показывал ii://APcbWI1obBZ3nr5uZgt :)

Ну да ладно

+++ картошки хватит на всех

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2019-01-22 04:58:56


> Довольно странно
Для меня это уже достижение *нервный смех*
Изучение этих программ это всё равно, что тот учёный в одной из игр попал в какой-то инопланетный центр и пытался выбраться из него, разбираясь на ходу )

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2019-01-22 03:48:56


Anotheroneuser> Я сейчас пробую работать, как посоветовал btimofeev и не могу вспомнить, что у меня тогда не получалось. Кажется, тогда при перемещении курсора (M-e) оба буфера двигались одновременно. А сейчас я пробую то же самое и всё по-отдельности. То есть, так, как надо.

Довольно странно, так как каждое окно имеет свои значения для курсора, даже если в них открыт один буфер.

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2019-01-21 18:00:50


Я сейчас пробую работать, как посоветовал btimofeev и не могу вспомнить, что у меня тогда не получалось. Кажется, тогда при перемещении курсора (M-e) оба буфера двигались одновременно. А сейчас я пробую то же самое и всё по-отдельности. То есть, так, как надо.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2019-01-21 15:10:28


Anotheroneuser> Ого, а я уже смирился)))
Anotheroneuser> Да, это то самое, спасибо тебе!

Офигеть. А я даже не понял задачу тогда. Потому и не писал решение =)

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — btimofeev
2019-01-21 11:30:13


Ого, а я уже смирился)))
Да, это то самое, спасибо тебе!

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Andrew Lobanov(tavern,1) — btimofeev
2019-01-21 11:33:38


btimofeev> Что бы растянуть одну половину на все окно жми С-х 1

C-x 0 закроет текущее окно (в терминологии имакса).

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
btimofeev(tavern,13) — Anotheroneuser
2019-01-21 09:16:52


C-x 2 разделит экран по горизонтали и откроет во второй половине тот же текст. Курсоры в каждом окне будут в разных местах (кажется это то, что ты хочешь).

C-x 3 разделит экран по вертикали.

Что бы переключиться в другую половину нажми С-х о

Что бы растянуть одну половину на все окно жми С-х 1

# Re: Mutt
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2019-01-14 15:54:13


Ого! Благодарю тебя. Сейчас попробую...

# Re: Mutt
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2019-01-14 08:23:26


>> Гуглиться надо, например, про связку mutt + fetchmail + procmail + msmtp.
Anotheroneuser> Вчера до глубокой ночи занимался этим. Всякий раз приходил к выводу, что люди, которые пишут инструкции, не намерены возиться с нами — непрофессиональными пользователями. Да, там есть объяснения, целые руководства и т.д. В них излагается принцип работы программы и рычаги управления ею. Но представления о программе это не очень-то даёт. Нужен какой-то алгоритм или что-нибудь наглядное.

Вот конфиги мои:

~/.fetchmailrc
defaults
#set daemon 120

poll imap.yandex.ru
    proto IMAP
    user 'username@yandex.ru'
    pass 'password' is 'username@yandex.ru' here
    mda 'procmail -d %T';

Опцию "set daemon 120" можно раскомментировать. Тогда fetchmail будет раз в 2 минуты проверять почту.

Опция "mda 'procmail -d %T';" вызывает procmail, который раскладывает почту по ящикам.

~/.procmailrc
MAILDIR=$HOME/Mail
LOGFILE=/dev/null
LOGABSTRACT=no
VERBOSE=off
FORMAIL=/usr/local/bin/formail
DEFAULT=$MAILDIR/default

:0 Whc: .msgid.lock
| $FORMAIL -D 16384 .msgid.cache

:0
* ^From:.*A.Kuronen@*
$MAILDIR/spam

:0
* ^From:.*naumen@urfc.ru*
$MAILDIR/naumen

:0
* ^To:.*username@yandex.ru*
$MAILDIR/mbox

Здесь правила для сортировки писем настроены. Письма от A.Kuronen попадают в ящик spam, уведомления от документооборота - в ящик naumen, а письма, написанные мне - в ящик mbox.

Для отправки писем используется программа msmtp.

~/.msmtprc
account default
host smtp.yandex.ru
from username@yandex.ru
user username
password password
auth login

Ну и для чтения использутся mutt. У меня его конфиг основывался на каком-то файле, найденном в сети.

~/.muttrc
# Сброс настроек
ignore *
unignore  Date To From: Subject

#
# Здесь оставлено место для цветовой гаммы...
#

# Забиндить на кнопку 'G' прием почты
macro index G "!fetchmail -k -f ~/.fetchmailrc"
macro pager G "!fetchmail -k -f ~/.fetchmailrc"
macro generic G "!fetchmail -k -f ~/.fetchmailrc"

#добавление адреса в адресную книгу
macro index a "|abook --add-email\n" 'add sender to abook'
macro pager a "|abook --add-email\n" 'add sender to abook'
#поиск по адр. книге
set query_command="abook --mutt-query '%s'"

# В mutt нет адресной книги, поэтому мы польземся алиасами
#source "~/.mail_aliases"
#set alias_file="~/.mail_aliases"

# Кириллизация всего и вся ;)
set allow_8bit=yes
set ascii_chars=yes
set charset="utf8"
set send_charset="koi8-r:us-ascii:iso-8859-1:utf-8"
set signature="~/.signature"

# Не пищать!
set beep=no

# Внешний вид просмотрщика ящика
set index_format="%4C %Z %D %-25.25F %s"
set to_chars="  TCF"
set sort=threads

# Что считать за квотирование
set quote_regexp="^([ \t[A-Za-z]*]*[>+])+"

# Какие заголовки отображать
hdr_order Date From To Subject

# Весьма удобная штука
set pager_context=1
set pager_index_lines=6

# Различные предустановки ответов
set include=ask-yes
set fast_reply=yes
set confirmappend=no

# К написанию писем
set edit_headers=yes
set attribution="On %d, %n wrote:"
set date_format="%Y.%m.%d %H:%M"
set indent_string="> "
set editor="mcedit"

# Почтовые ящики
set spoolfile="~/Mail/mbox"
set folder="~/Mail"
mailboxes =mbox
set mbox="~/Mail/default"
set mbox_type=mbox
set postponed="~/Mail/postponed"
set record="~/Mail/sent"
set sort_browser=reverse-size

# Все связанное с отсылкой писем
set realname="Andrew Lobanov"
set from="Andrew Lobanov "
set envelope_from=yes
set sendmail="/usr/bin/msmtp -oi"

# ПЖП пусть отдохнет...
set pgp_verify_sig=no

color header cyan black .
color header yellow black ^From
color header yellow black ^Subject
color body yellow black [_a-z\.\$A-Z0-9-]+@[a-zA-Z0-9\./\-]+
color body yellow black (http|ftp)://[_a-zA-Z0-9\?\=\&\@\%\#\:\,\./~\-]+
color quoted green black
color signature cyan black
color attachment yellow black
color tree white black
color indicator black cyan
color status white blue
color tilde blue black
color normal white black
color index green black ~N

auto_view text/html

set timeout=1    #Прверять через какое число минут почту
set mail_check=1

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Mutt
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2019-01-14 05:36:45


> Гуглиться надо, например, про связку mutt + fetchmail + procmail + msmtp.
Вчера до глубокой ночи занимался этим. Всякий раз приходил к выводу, что люди, которые пишут инструкции, не намерены возиться с нами — непрофессиональными пользователями. Да, там есть объяснения, целые руководства и т.д. В них излагается принцип работы программы и рычаги управления ею. Но представления о программе это не очень-то даёт. Нужен какой-то алгоритм или что-нибудь наглядное.
Если разберусь, попробую что-нибудь такое нарисовать ))

> Mutt для чтения и написания писем, fetchmail скачивает почту с сервера, procmail сортирует её, msmtp отправляет почту
Вот прикинь, насколько графические приложения калечат мозг. На собственном примере понимаю, до какой степени сложно въехать в то, что раньше давалось очень легко. Установил Thunderbird и понеслось.
А некоторым и Thunderbird сложно установить. И появляются люди, которые соблазняют возможностью обмениваться данными и вообще ни о чём не задумываться (разные WhatsApp и остальное).
Говорю это без всякого фанатизма, бешеных глаз и дрожащих рук (в которых зажаты свитки с сакральными знаниями)). Просто немного жаль, что раньше не приходило в голову разобраться с этим.

# Re: Mutt
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2019-01-14 04:15:04


Anotheroneuser> Не найдётся у кого-нибудь muttrc для mail.yandex? Или ссылки на нормальное руководство.

Ну так mutt это только читалка. Unix-way же. Гуглиться надо, например, про связку mutt + fetchmail + procmail + msmtp.

Mutt для чтения и написания писем, fetchmail скачивает почту с сервера, procmail сортирует её, msmtp отправляет почту.

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Mutt
develop.16
Anotheroneuser(syscall,27) — All
2019-01-13 20:39:59


Не найдётся у кого-нибудь muttrc для mail.yandex? Или ссылки на нормальное руководство.
Ухрюкаться можно, пока разберёшься.

# Re: Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — Anotheroneuser
2018-11-24 11:11:35


Не нашёлся выход. Наверное, самым идейно-верным будет скопировать материал и открывать их ­— один для изменений, другой — для чтения...
Если б можно было хотя бы read only открывать тот же материал .org. Чтобы не плодить копии.

# Re: Документация
develop.16
vit01(mira, 1) — Difrex
2018-11-23 12:27:52


vit01>> Недавно решил попробовать Jenkins потыкать и настроил его для нашего репозитория с документацией. По нажатию пары кнопочек дока компилируется из markdown и заливается на сайт.

Difrex> Дженкинс тяжел, но фичаст.

Вот я потому дженкинс и решил попробовать - из-за его тяжёлости и фичастости. Хочется оценить в работе все возможные фишки CI и потом сформировать личные предпочтения.

Difrex> Я использую Gitea+Drone CI - все легко настраивается и работает, а главное, что и как в Gitlab CI, весь билд описывается в одном ямле.

До сих пор есть небольшие сомнения на счёт всего этого.
"Может быть, достаточно было ограничиться одним bash-скриптом?"

Почитал бы с удовольствием хороший обзор на разные CI в плане юзабилити и имеющихся фич.

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Emacs. Редактирование одного текста в нескольких местах
develop.16
Anotheroneuser(syscall,27) — All
2018-11-22 17:36:17


Наверняка, такое уже случалось у кого-нибудь.
Один текст *.org, который надо видеть и изменять в нескольких местах.
Не подскажете какой-нибудь идейно правильный выход? :) Если делю экран на два, то там всё синхронно происходит, а это неудобно. Если открыть emacs дважды, тоже, кажется, выходит какая-то хрень.

# org-mode и Github Projects
develop.16
vit01(mira, 1) — All
2018-11-14 14:36:41


У Гитхаба есть фича под названием Projects. Это что-то вроде Kanban-списков для составления планов. Каждый Project содержит в себе набор карточек, в каждой из которых можно хранить заметки и отмечать сделанные дела.

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

Давайте это исправим, используя python и org-mode

1. $ pip install PyGithub
Документацию по пакету можно посмотреть здесь: https://pygithub.readthedocs.io/en/latest/introduction.html

2. Получаем access-token для API Гитхаба
Идём сюда: https://github.com/settings/tokens
Получаем Personal Access Token с доступом к вашим репозиториям, копируем

3. Создаём python-скрипт с подобным содержанием:

#!/usr/bin/env python3

from github import Github

g = Github("your-access-token")

# 0 - это первый проект, в данном случае он единственный
prj = g.get_user().get_repo("idec-mobile").get_projects()[0]

# вывод форматируется в виде списка org-mode
print("\n+ {" + prj.name + "} <" + prj.html_url + ">")
for column in prj.get_columns():
        print("\n\t+ " + column.name)

        for card in column.get_cards():
                if card.archived:
                        continue
                
                print("\t\t+ " + str(card.note))

4. В файле org-mode прописываем блок для запуска кода
:results output raw ставить обязательно, иначе org-mode будет оформлять вывод скрипта как текст вроде цитаты, а нам надо, чтобы он был в виде org-списка

#+BEGIN_SRC shell :results output raw
~/path/to/your/python/script
#+END_SRC

5. Если в Emacs не настроен org-babel, то в конфиге прописать вот это (свои языки прописать по желанию)

  (org-babel-do-load-languages
   'org-babel-load-languages
   '(
     (shell . t)
     (python . t)
     (emacs-lisp . t)
     (C . t))
   )

6. Можно запускать. Не забудьте chmod +x для питоноскрипта
Для выполнения кода в org-mode надо лишь навести курсор на блок этого кода и нажать C-c C-c

Список гитхабопроектов появится рядом с меткой #+RESULTS:

# Re: org-mode и выход из дома
develop.16
vit01(mira, 1) — Difrex
2018-10-07 04:25:32


vit01>> Можете подсказать простое и красивое решение?
Difrex> Нужно писать самому =)

Таки заморочился и написал то, что требуется :)

https://github.com/vit1-irk/org-agenda-timeleft

Приятно удивил тот факт, что org-mode умеет перегонять расписание в машиночитаемый CSV

Получается, с помощью org-mode можно не только автоматизировать своё личное расписание, но и делать более сложную обработку информации. Например, статистику строить или даже какую-нибудь систему для умного дома сделать

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# Re: org-mode и выход из дома
develop.16
Difrex(tavern,23) — vit01
2018-10-02 14:33:01


vit01> 1. Сделать такие уведомления в org-mode, чтобы напоминали, когда пора выходить
vit01> 2. Таймер обратного отсчёта [время до выхода из дома HH:MM и/или до начала пары]
Посмотри код pomidoro-mode - там есть и таймер и уведомления

vit01> Можете подсказать простое и красивое решение?
Нужно писать самому =)

+++ А небо все точно такое же, как если бы ты не продался

# org-mode и выход из дома
develop.16
vit01(mira, 1) — All
2018-10-02 02:52:28


У меня в org-mode на каждый день есть актуальное расписание занятий в универе и не только

Обычно я выхожу из дома за N минут до начала 1 пары

Задачи

1. Сделать такие уведомления в org-mode, чтобы напоминали, когда пора выходить
2. Таймер обратного отсчёта [время до выхода из дома HH:MM и/или до начала пары]

Если для 1 задачи можно сделать костыль через SCHEDULED, то насчёт обратного отсчёта не знаю, куда копать

Можете подсказать простое и красивое решение?

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM

# JavaFX WebView
develop.16
Andrew Lobanov(tavern,1) — All
2018-09-23 07:00:31


А есть у нас джависты? Очень хочется в сабже открывать ссылки в системном браузере. Или хотя бы в заданном браузере (как в цезии). Но не в самом вебвью. В интернете нашёл пример воркэраунда, который должен был это делать, но не только не понял как он должен работать, но и не смог заставить его работать.

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2018-09-16 10:20:42


AL>> Тогда я не понял изначальную задачу. Откуда брать дату и время, если не из exif?

Anotheroneuser> Из EXIF, больше неоткуда.
Anotheroneuser> Написал про 1980 год (меня тогда на свете ещё не было) просто так. Удивился, что дата такая.

Грубо говоря, это "нулевое значение даты". Хотя странно, что 1980, а не 1970.

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2018-09-16 07:53:24


AL> Тогда я не понял изначальную задачу. Откуда брать дату и время, если не из exif?

Из EXIF, больше неоткуда.
Написал про 1980 год (меня тогда на свете ещё не было) просто так. Удивился, что дата такая.

+++ А вы пощупайте-пощупайте! В нашем деле главное — пощупать.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2018-09-16 06:38:36


Anotheroneuser> Если для этого она берёт данные EXIF, то, конечно, ж... полная там будет с фотографиями )) Посмотрел: почти всё перепутано.


Anotheroneuser> Есть горы снимков, которые вообще не были датированы: указано 1 января 1980 года, но этого не может быть. И есть изображения, которые вообще не содержат какой-либо информации.

Тогда я не понял изначальную задачу. Откуда брать дату и время, если не из exif?

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
btimofeev(tavern,13) — Anotheroneuser
2018-09-15 19:34:07


Anotheroneuser> Если для этого она берёт данные EXIF, то, конечно, ж... полная там будет с фотографиями )) Посмотрел: почти всё перепутано.

А откуда ей ещё брать эту инфу?

Anotheroneuser> Есть горы снимков, которые вообще не были датированы: указано 1 января 1980 года, но этого не может быть. И есть изображения, которые вообще не содержат какой-либо информации.

Попробуй посмотреть через программу exiftool. Она кстати умеет переименовывать файл по дате https://m.habr.com/post/232267/

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Anotheroneuser(syscall,27) — btimofeev
2018-09-15 18:40:17


> Shotwell

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

Есть горы снимков, которые вообще не были датированы: указано 1 января 1980 года, но этого не может быть. И есть изображения, которые вообще не содержат какой-либо информации.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
btimofeev(mira, 24) — Anotheroneuser
2018-09-14 20:54:47


Anotheroneuser> 1. Из всех каталогов рекурсивно переместить в каталоги, классифицируя так:
Anotheroneuser> - ГГГГ
Anotheroneuser> -- ММ
Anotheroneuser> --- ДД

Как минимум это умела делать программа Shotwell. Это менеджер фотографий для гнома. Если не ошибаюсь она по-умолчанию импортирует фотографии в такую структуру директорий.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2018-09-14 13:50:55


Оказывается, есть много решений.
Например, такое.
find /media/vm/Transcend -type f -name '*.jpg *.jpeg *.png' -exec mv -i {} /home/vm/Изображения  \;
Сойдёт? Но на Transcend фотографий просто дохренищи. Может, 200 Гб.
Задумка такова:
1. Переместить все:
1.1. Фотографии в Изображения
1.2. Видео в Видео
1.3. Аудиозаписи в Аудиозаписи
2. Классифицировать всё по
2.1. ГГГГ
2.1.1. ММ
2.1.1.1. ДД
3. Переименовать все материалы по дате и времени их получения с точностью до секунды

Остальное -- хлам, в принципе.. Так что, лететь ему в цифровое нигде.
Винт отформатирую в ext4, чтобы не было ограничений на размер загружаемого материала.

Дальше информационная система будет устроена с помощью org-mode, откуда просто буду ссылаться на материалы. Они поступают ежедневно на телефон (фото, аудио, видео) и синхронизируются с ЭВМ через Syncthing.

Как тактика? Наверное, паровоз Черепановых, но у меня больше нет идей ))

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Anotheroneuser(syscall,27) — Andrew Lobanov
2018-09-14 13:17:44


> На выходных могу попытаться
Не.. Не хочу напрягать.
Корячусь сейчас сам. Нашёл программу fdupes -- пробую для начала дубликаты вычистить. А потом буду что-нибудь делать. Может, графической программой какой..
Начинаю усваивать, почему люди хвалят консольные программы. Графические приложения, несмотря на свою графичность, иногда так неочевидны, что трандец.
Пользователю нужен обычный алгоритм, который позволяет решение принимать (практически бездумно), а ему ребусы предлагают разгадывать. Лучше уж сразу в консоль залезть и оттуда править миром

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Andrew Lobanov(tavern,1) — Anotheroneuser
2018-09-14 12:32:35


Anotheroneuser> А, хочу добавить!
Anotheroneuser> Обращаюсь, только если есть у кого готовое решение. Или просто за советом по тактике : правильно или неправильно. Может, что ещё

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.

# Re: Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Anotheroneuser(syscall,27) — Anotheroneuser
2018-09-14 10:52:08


А, хочу добавить!
Обращаюсь, только если есть у кого готовое решение. Или просто за советом по тактике : правильно или неправильно. Может, что ещё

# Разгрёб фото и пр. материалов. Перемещение, классификация
develop.16
Anotheroneuser(syscall,27) — All
2018-09-14 10:38:15


Прошу помощи.. Искал-искал, но пока тщетно. Многие из нас сталкиваются с такой проблемой, но немногие умеют писать сценарии для BASH.

Съёмный диск объёмом 1 Тб
На нём кучи каталогов, в которые я годами сваливал каталоги с фото- аудио- видео- и пр. материалами.
Кое-какая классификация есть, но она такова, что приходится постоянно рыться, буквально утопая в воспоминаниях и теряя ценные силы (потому что, ясен хрен, всплывающие образы вызывают эмоции, а это -- штука энергопотребляющая)

Хочется решить вопрос одним-двумя телодвижениями. Начал искать сценарий для следующего плана:

Фотоматериалы
1. Из всех каталогов рекурсивно переместить в каталоги, классифицируя так:
- ГГГГ
-- ММ
--- ДД
2. Переименовать их по времени получения снимка (из EXIF) c точностью до секунды. Чтобы они в каталоге ДД лежали последовательно. Это важно, т.к. иначе теряется смысл: все записи будут спутаны. Они и так спутаются, т.к. я их делал в одно время, а снимал -- в другое. Так была организована система.

Ну и всё, наверное..

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

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

# Re: Emacs: как вставить одно и то же слово
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-29 09:23:57


Вот спасибо )

> Если знаешь регекспы, то там становится вообще просто
Не, не знаю. Но надо себя заставить...
Уж очень полезен этот трюк с одновременным добавлением слов куда-надо.

# Re: Emacs: как вставить одно и то же слово
develop.16
Difrex(tavern,23) — Anotheroneuser
2018-08-29 07:24:47


Anotheroneuser> Не-не ) Ты сказал, что можно -- это главное. Может попробую написать сам.. Иначе так никогда не начну. То же, блин, и с играми: учиться программированию с нуля слишком долго.

Ок, пиши сам =). Направлю тебя в нужном направлении:
В GNU Emacs есть функция *query-replace-regexp* которая по-дефолту забиндина на C-M-%
Если знаешь регекспы, то там становится вообще просто :).

Только регион выдели, в который будешь вставлять.

*** Sent from my GNU Emacs

# Re: Emacs: как вставить одно и то же слово
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-29 07:01:13


> Доберусь до работы - напишу

Не-не ) Ты сказал, что можно -- это главное. Может попробую написать сам.. Иначе так никогда не начну. То же, блин, и с играми: учиться программированию с нуля слишком долго.

# Re: Emacs: как вставить одно и то же слово
develop.16
Difrex(tavern,23) — Anotheroneuser
2018-08-29 06:38:45


Anotheroneuser> Можно ли сделать это одной командой?

Можно. Доберусь до работы - напишу велосипед какой-нибудь 😂

# Emacs: как вставить одно и то же слово
develop.16
Anotheroneuser(syscall,27) — All
2018-08-28 17:15:52


Мне понравилась штука под названием list-matching-lines.
С помощью неё можно выводить чуть ли не оглавление документа.

Но хрень в том, что lines не всегда matching и, чтобы этого добиться, надо одновременно добавить слово в начало определённых строк.

Например, строки начинаются с цифры.

1. Ляляля.
1.1. Пухом белым укрыта земля.
1.2. За деревней растёт конопля.

2. Тополя.
2.1. По два рубля.
2.2. По три рубля.

Чтобы получить нормальный list-matching-lines, надо подставить слово «Пункт» перед каждой цифрой.

Можно ли сделать это одной командой?

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — Anotheroneuser
2018-08-21 05:48:54


поспешил..

А из нашего окна площад[]ь Красная видна!

двигаем вправо

А из нашего площадь окна Красн[]ая видна!

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — btimofeev
2018-08-21 05:47:46


Хитрó..
То есть, так?

А из нашего окна площад[]ь Красная видна!

двигаем вправо

А из нашего площад[]ь окна Красная видна!

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-21 05:42:11


О! Теперь понял, благодарю.

# Re: Как в Emacs двигать слова
develop.16
Andrew Lobanov(tavern,1) — Difrex
2018-08-21 04:53:26


Difrex> ====
Difrex> (defun setup-move-words ()
Difrex> "Move word right or left."

Difrex> (defun move-word-right (arg)
Difrex> "Move word to right."
Difrex> (interactive "*p")
Difrex> (transpose-words 1))

Difrex> (defun move-word-left (arg)
Difrex> "Move word to left."
Difrex> (interactive "*p")
Difrex> (transpose-words -1))

Difrex> (global-set-key [\C-\S-right] 'move-word-right)
Difrex> (global-set-key [\C-\S-left] 'move-word-left))

Difrex> (setup-move-words)
Difrex> ====
Difrex> По ctrl+shift+стрелка вправо двигаем слово на право, со стрелкой влево - влево =)

Всё оказалось даже проще, чем я думал =)

Emacs мощен, блин.

# Re: Как в Emacs двигать слова
develop.16
Andrew Lobanov(tavern,1) — btimofeev
2018-08-21 04:52:36


Anotheroneuser>> Ничего не нашёл, кроме -- менять слова местами по M-t
btimofeev> А чем оно тебе не подходит? Судя по справке это то, что тебе и нужно. К примеру C-u 4 M-t передвинет слово вперёд через 4 слова, C-u - 4 M-t назад через 4 слова. Правда довольно объемный кейбиндинг выходит, возможно можно как-то переопределить покороче.

Раскопать какую функцию оно вызывает и как да написать биндинг. Или, если там не одной функцией всё делается, написать свою функцию и прилепить кейбиндинг. Надо посмотреть что да как там.

# Re: Как в Emacs двигать слова
develop.16
Difrex(tavern,23) — Anotheroneuser
2018-08-20 22:38:32


Короче, там курсор в конец нужного тебе слова надо ставить. Если ставишь в начало, то берет предыдущее. Так transpose-word работает, судя по доке.

# Re: Как в Emacs двигать слова
develop.16
btimofeev(tavern,13) — Anotheroneuser
2018-08-20 22:36:11


Anotheroneuser> Работает! ) Только пока не до конца понятно.
Anotheroneuser> Вот какое выходит кино:
Anotheroneuser> https://yadi.sk/i/1fvUwhTP3aQWzM

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

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-20 21:43:52


Работает! ) Только пока не до конца понятно.
Вот какое выходит кино:
https://yadi.sk/i/1fvUwhTP3aQWzM

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — btimofeev
2018-08-20 21:31:48


Да, правда! Работает.
> довольно объемный кейбиндинг
это тоже правда. Но привыкнуть можно.

# Re: Как в Emacs двигать слова
develop.16
Difrex(tavern,23) — Anotheroneuser
2018-08-20 19:03:55


Anotheroneuser> > Ща ноут у жены отберу и попробую накидать :)
Anotheroneuser> Слушай, может не стоит так рисковать?? Фиг с ним. Выйдем из положения))
Да все ок, у нее и свой есть =)
Лови
(defun setup-move-words ()
    "Move word right or left."

    (defun move-word-right (arg)
        "Move word to right."
        (interactive "*p")
        (transpose-words 1))

    (defun move-word-left (arg)
        "Move word to left."
        (interactive "*p")
        (transpose-words -1))

    (global-set-key [\C-\S-right] 'move-word-right)
    (global-set-key [\C-\S-left] 'move-word-left))

(setup-move-words)

По ctrl+shift+стрелка вправо двигаем слово на право, со стрелкой влево - влево =)

// Sent from my GNU Emacs

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-20 18:54:25


> Ща ноут у жены отберу и попробую накидать :)
Слушай, может не стоит так рисковать?? Фиг с ним. Выйдем из положения))

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — btimofeev
2018-08-20 18:50:41


А-а!
> C-u 4 M-t
а я просто М-t..
Попробую - спасибо.

# Re: Как в Emacs двигать слова
develop.16
Difrex(tavern,23) — Anotheroneuser
2018-08-20 18:51:58


Да не, оно довольно просто должно быть. Все функции уже есть в стоковом Емаксе.
Ща ноут у жены отберу и попробую накидать :)

# Re: Как в Emacs двигать слова
develop.16
btimofeev(tavern,13) — Anotheroneuser
2018-08-20 17:47:18


Anotheroneuser> Ничего не нашёл, кроме -- менять слова местами по M-t

А чем оно тебе не подходит? Судя по справке это то, что тебе и нужно. К примеру C-u 4 M-t передвинет слово вперёд через 4 слова, C-u - 4 M-t назад через 4 слова. Правда довольно объемный кейбиндинг выходит, возможно можно как-то переопределить покороче.

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-20 17:00:13


> Извини
Да я ничего )) Если всё правильно понимаю, в Emacs есть собственный морг убитых слов, откуда он, в случае чего, может их доставать. Единственно, пару раз я этот как-то морг уничтожал и после этого уже ничего нельзя было сделать.

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

Фраза: Ни двора ни кола.
Действие: Сдвинуть "кола" влево
Фраза: Ни двора кола ни.
Действие: Сдвинуть "кола" влево
Фраза: Ни кола двора ни.
Действие: Сдвинуть "двора" вправо
Фраза: Ни кола ни двора.

Вот так. Но это -- блажь, подозреваю... Или нет?

# Re: Как в Emacs двигать слова
develop.16
Difrex(tavern,23) — Anotheroneuser
2018-08-20 16:20:32


Anotheroneuser> Нажал по неопытности -- херак! -- полтекста исчезло. Слава Богу, помнил C-x u
Anotheroneuser> Потом вспомнил, что это просто копировать-вставить.
Извини, надо было рассказать что это просто копипаст.

Anotheroneuser> Вот просто ради интереса: там везде говорится up и down, но нигде не сказано right и left )
Anotheroneuser> В right и в left слова можно двигать?
Ну, мне не надо было никогда двигать вправо и влево. Но написать можно :). Попробую что-то написать похожее.
Тебе же как-то так слова двигать нужно?
            Before C-S-right

           +----------+           +----------+         +----------+
           | word A   |           | word B   |         | word C   |
           |          +-----+-----+          +---------+          |
           +----------+     |     +----------+         +----------+
                            |
                            |
                            |
            After C-S-right |
                            |
           +----------+     |     +----------+         +----------+
           | word B   |     |     | word A   |         | word C   |
           |          +-----+-----+          +---------+          |
           +----------+           +----------+         +----------+

// Sent from my GNU Emacs

# Re: Как в Emacs двигать слова
develop.16
Anotheroneuser(syscall,27) — Difrex
2018-08-20 15:53:37


> C-w C-y
Нажал по неопытности -- херак! -- полтекста исчезло. Слава Богу, помнил C-x u
Потом вспомнил, что это просто копировать-вставить.

Ничего не понимая, естественно, кроме отдельных английских слов, попробовал читать конфиг.
Вот просто ради интереса: там везде говорится up и down, но нигде не сказано right и left )
В right и в left слова можно двигать? Sublime не пользовался -- у меня к нему сразу возникло какое-то странное чувство... Решил не трогать.