#  Re: боны поны и прочее
ii.51t.ru (dinozavr,2) → Difrex  –  14:45:24 2023-01-20

нифига не понял, почему это в develop, но утянул себе develop тоже :)
#  Re: боны поны и прочее
Andrew Lobanov (tavern,1) → Difrex  –  06:41:35 2023-01-20

Difrex> Не вижу смысла в новой эхе. Но, на пример, динамик фетчит все из list.txt. Так что новая эха у меня на ноде появится.

Движение ради движения же.

Difrex> ЗЫ: хочу тянуть по 9000 сообщений

Для этого нам нужно начинать пользоваться технологией :)

+++ Caesium/0.4 RC1
#  Re: боны поны и прочее
Difrex (dynamic,1) → iiii  –  22:13:44 2023-01-19

Не вижу смысла в новой эхе. Но, на пример, динамик фетчит все из list.txt. Так что новая эха у меня на ноде появится.

ЗЫ: хочу тянуть по 9000 сообщений
#  Re: org-mode и Github Projects
Difrex (dynamic,1) → vit01  –  15:12:44 2018-11-14

Круто!

Воспользуюсь с фичей исполнения кода в org =)

// А еще у Емакса есть github-issues, который позволяет
// смотреть отрытые таски

+++ idec.el/0.1
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  08:58:14 2018-11-23

Anotheroneuser> Наверняка, такое уже случалось у кого-нибудь.
Anotheroneuser> Один текст *.org, который надо видеть и изменять в нескольких местах.
Anotheroneuser> Не подскажете какой-нибудь идейно правильный выход? :) Если делю экран на два, то там всё синхронно происходит, а это неудобно. Если открыть emacs дважды, тоже, кажется, выходит какая-то хрень.
Запускай два emacsclient. Вроде как все работает.
Зацени: https://cloud2.difrex.ru/index.php/s/bEzdBqeZ87tWqr5
#  Re: Документация
Difrex (dynamic,1) → vit01  –  12:38:20 2018-11-23

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

vit01> Difrex> Я использую Gitea+Drone CI - все легко настраивается и работает, а главное, что и как в Gitlab CI, весь билд описывается в одном ямле.
vit01> До сих пор есть небольшие сомнения на счёт всего этого.
vit01> "Может быть, достаточно было ограничиться одним bash-скриптом?"
Какие сомнения? Gitlab CI очень фичаст, и его огромный плюс в том, что ты держишь конфигурацию билда прямо в репозитории твоего проекта.
Еще и всяких гуйней нет, что плюс. Drone CI менее фичаст, но умеет тоже много чего. Так например выглядит билд фронта Динамика:
====
pipeline:
build:
image: node:9.11-alpine
commands:
- npm i -g @angular/cli


>> Читать далее
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  15:19:21 2018-11-25

Anotheroneuser> Не нашёлся выход
А чем мой вариант с двумя клиентами не подошел?

+++ idec.el/0.1
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  09:02:16 2019-01-26

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

+++ idec.el/0.1
#  Re: Фантастические консоли и где они обитают
btimofeev (tavern,13) → johnbrown  –  12:53:33 2020-09-26

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

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

Ассемблер там простой, я писал небольшую статью с примерами и разбором кода как выводить изображения и обрабатывать события клавиатуры, если интересно можешь почитать https://emunix.org/post/writing-chip-8-emulator-part-3/
#  Re: Фантастические консоли и где они обитают
johnbrown (ping,9) → btimofeev  –  11:55:06 2020-09-26

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

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

У меня когда-то был Микроша, но получалось запускать на нем только бейсик, да ещё какой-то текстовый редактор. Там и ассемблер был, но для меня тогда это было что-то инопланетное.
#  Re: Фантастические консоли и где они обитают
hugeping (ping,1) → johnbrown  –  07:49:01 2020-09-26

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

А в плане виртуальных консолей, PICO8 для меня лучшая. В ней есть баланс ограничений, которые (на практике проверил) идеально для меня подходят. Жаль, что закрытая только. Но хотя бы формат игр открыт и есть открытые плееры...
#  Re: Фантастические консоли и где они обитают
btimofeev (ping,6) → johnbrown  –  05:36:16 2020-09-26

Я когда-то интересовался одной из первых подобных платформ, разработанной еще в 70-х годах - CHIP-8. Там всего два цвета на экране, разрешение 64х32, 16 кнопок клавиатуры, из звуков только "Бииип" и игры пишутся на ассемблере. Но игры конечно простенькие - пинг-понг, арканоиды и подобное. Я учился азам написания эмуляторов на этой системе - вот тут мой эмулятор лежит https://github.com/btimofeev/emuchip
#  Фантастические консоли и где они обитают
johnbrown (ping,9) → All  –  17:16:12 2020-09-25

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

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

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

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

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



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

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

Если нравится Си, то понравится и Go. Хотя я был уже подготовлен Питоном и Lua, но всё-равно, думаю, понравится.
#  Re: Признание в любви к Го от старого сишника
boscholeg (ping,5) → hugeping  –  11:34:46 2020-09-11

Вы его так рекламируете. Что хочется прям почитать про этот ваш Го.
Хотя после си, перла, пхп, питона и "богомерзкого" JSа в голове и так полная каша. :(
Жаль мозги прокачать не получается.
#  Re: Признание в любви к Го от старого сишника
Andrew Lobanov (tavern,1) → hugeping  –  03:55:09 2020-09-11

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

Когда пробовал go испытал примерно те же чувства. Пайк и Томпсон всё таки молодцы и понимают в языках :)
#  Признание в любви к Го от старого сишника
hugeping (ping,1) → All  –  18:45:35 2020-09-10

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

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

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

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

Короче, Роб Пайк рулит! Спасибо за наше счастливое детство!
#  Re: Mutt
jmaks (tavern,12) → Andrew Lobanov  –  15:38:10 2019-11-06

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/


>> Читать далее
#  Re: android dev
vit01 (mira, 1) → jmaks  –  17:19:39 2019-11-03

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

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

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

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
#  Re: android dev
btimofeev (tavern,13) → jmaks  –  18:36:57 2019-11-02

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
jmaks (tavern,12) → btimofeev  –  16:06:17 2019-11-02

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

Ну и вообще, как бы другие советы, на чем/под чем и как лучше, удобнее, современнее собирать apk?!
#  Re: android dev
btimofeev (tavern,13) → jmaks  –  13:08:23 2019-11-02

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

Можешь посмотреть исходники приложения Transistor https://github.com/y20k/transistor, оно довольно простое.
#  android dev
jmaks (tavern,12) → All  –  10:20:08 2019-11-02

vit01, btimofeev
Подскажите товарищи, накидайте годной маны, как быстро без регистрации и смс, собрать простую приложуху под сабжевую систему на смартвоне любом, умеющую одной кнопкой --пересобирать мир--, запускать стрим потока в строенный в приложуху радиво плеер?!
#  Re: Шуточные песенки про С (Папа может в СИ)
vit01 (mira, 1) → Peter  –  07:19:27 2019-08-11

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

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

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
#  Шуточные песенки про С (Папа может в СИ)
Peter (syscall,1) → All  –  20:37:37 2019-08-10

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

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

Но вторая -- давно известная шутка. А вот "ПАПА МОЖЕТ СИ" первый раз услышал. :)
#  Re: Python и магия генераторов
Andrew Lobanov (tavern,1) → Difrex  –  07:52:33 2019-07-25

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

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

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

Как раз поигрался вчера с этим немного и собирался в ближайшее время коммитнуть это изменение. Спасибо.
#  Re: Python и магия генераторов
Difrex (dynamic,1) → Andrew Lobanov  –  06:12:11 2019-07-25

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

Скомпиль, кстати, регулярку сначала, будет еще быстрее
====
r = re.compile("(.+):(.+)\n")
====
#  Re: Python и магия генераторов
Andrew Lobanov (tavern,1) → Difrex  –  04:33:32 2019-07-25

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

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

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


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

Я правильно думаю, что нет простого способа просто следующее совпадение извлечь?
#  Re: Python и магия генераторов
Andrew Lobanov (tavern,1) → Difrex  –  04:33:30 2019-07-25

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

А мне наоборот компактность кажется читаемее. По крайней мере в генераторах. К тому же зачастую генератор получается быстрее циклического создания списка или словаря, вроде. Но это вкусовщина, конечно.
#  Re: Python и магия генераторов
Difrex (dynamic,1) → Andrew Lobanov  –  13:37:26 2019-07-24

> Я её хочу обработать минимальным количеством кода
В тему, что меня бесит -- это питоновые однострочники. Оно работает не быстрее, чем если ты запишешь это в несколько строк,
а вот читаемость падает.
#  Re: Python и магия генераторов
Andrew Lobanov (tavern,1) → All  –  08:18:41 2019-07-24

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 и магия генераторов
Andrew Lobanov (tavern,1) → All  –  06:21:25 2019-07-24

Продолжаю учиться писать программы на питоне и возник один странный, может быть, вопрос. Есть строка, в которой хранится в "сыром" виде выхлопом 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
Difrex (dynamic,1) → vit01  –  08:11:01 2019-04-13

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

> Да и как-то ради простенького сборочного процесса сохранять отдельный контейнер жирновато.
Сохраняй полученный артифакт, а не новый образ.
#  Re: CI
vit01 (mira, 1) → Difrex  –  14:21:55 2019-04-12

>>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
Difrex (dynamic,1) → vit01  –  17:17:44 2019-03-16

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

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

А вообще, если ты хочешь опенсорс собирать, то бери TravisCI и не парься со своими серваками.
#  Re: CI
vit01 (mira, 1) → Difrex  –  16:32:48 2019-03-16

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

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

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

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

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

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

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


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

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

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Andrew Lobanov  –  07:43:02 2019-03-01

> Вспомнил. Я его смотрел, но как-то не вкурил его философию. Выглядит круто, возможности прикольные, но пользоваться им я так и не научился.
Там фишка в том, что есть демон, который реализует сам WM, и клиент к нему. И весь конфиг клиентом делается.
Это позволяет писать конфиг на любом языке.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  07:45:10 2019-03-01

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

>> У меня брат, например, перешел на GNU Emacs с Vim, переучиваться не стал -- сидит в Evil :)
>Как, кстати, отзывается? Некоторые говорят, что это, как двумя напильниками одновременно работать
Ну, ему нравится, на вим обратно не тянет :)
#  Re: Emacs. Редактирование одного текста в нескольких местах
Andrew Lobanov (tavern,1) → Difrex  –  04:20:10 2019-03-01

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

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

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

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Difrex  –  14:45:32 2019-02-28

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

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

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

Difrex> У меня брат, например, перешел на GNU Emacs с Vim, переучиваться не стал -- сидит в Evil :)

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

>Что, кстати, в этой нише есть?
herbstlufwm сейчас ковыряю. Выглядит очень неплохо.
Еще смотрел на xmonad, но он слишком упорот для меня.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Andrew Lobanov (tavern,1) → Difrex  –  11:54:58 2019-02-28

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

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  07:20:41 2019-02-28

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

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

+++ At work. idec.el/0.1
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Difrex  –  08:04:25 2019-02-27

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

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

Сочетания клавиш, конечно, надо сразу где-то использовать, потому что, находясь без дела, они забываются очень быстро.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  09:33:49 2019-01-26

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

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


+++ idec.el/0.1
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Anotheroneuser  –  06:08:21 2019-02-26

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

> Щас до такой степени ушёл в чтение руководств Emacs, что уже не замечаю ни тем, ни чего-либо
Я вот таким, кстати, никогда не занимался. Как-то в процессевсе происходило, когда требоволось сделать что-то. Основы за день учатся прямо из Емакса, причем на русском :)
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (dynamic,1) → Peter  –  09:36:50 2019-01-26

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

+++ idec.el/0.1
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Andrew Lobanov  –  05:37:31 2019-02-26

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

Поставлю при случае.
Щас до такой степени ушёл в чтение руководств Emacs, что уже не замечаю ни тем, ни чего-либо. Ужасно много времени уходит на это (всё же по-английскии..). Надеюсь, оно как-то возместится. Например, экономией времени на работу с данными.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Andrew Lobanov (tavern,1) → Anotheroneuser  –  03:08:16 2019-02-26

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Difrex  –  14:30:32 2019-01-25

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

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

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

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

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

Битая ссылка. 19 символов кажется
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Difrex  –  10:02:48 2019-01-25

Я ради Бога прошу простить — впопыхах просмотрел или упустил. Подскажи, как мне открыть это ii://, пожалуйста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Difrex (tavern,23) → Anotheroneuser  –  07:13:06 2019-01-25

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

Ну да ладно

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

> Довольно странно
Для меня это уже достижение *нервный смех*
Изучение этих программ это всё равно, что тот учёный в одной из игр попал в какой-то инопланетный центр и пытался выбраться из него, разбираясь на ходу )
#  Re: Emacs. Редактирование одного текста в нескольких местах
Andrew Lobanov (tavern,1) → Anotheroneuser  –  03:48:56 2019-01-22

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

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Andrew Lobanov  –  18:00:50 2019-01-21

Я сейчас пробую работать, как посоветовал btimofeev и не могу вспомнить, что у меня тогда не получалось. Кажется, тогда при перемещении курсора (M-e) оба буфера двигались одновременно. А сейчас я пробую то же самое и всё по-отдельности. То есть, так, как надо.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Andrew Lobanov (tavern,1) → Anotheroneuser  –  15:10:28 2019-01-21

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

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → btimofeev  –  11:30:13 2019-01-21

Ого, а я уже смирился)))
Да, это то самое, спасибо тебе!
#  Re: Emacs. Редактирование одного текста в нескольких местах
Andrew Lobanov (tavern,1) → btimofeev  –  11:33:38 2019-01-21

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

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

+++ Caesium/0.4 RC1
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Emacs. Редактирование одного текста в нескольких местах
btimofeev (tavern,13) → Anotheroneuser  –  09:16:52 2019-01-21

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

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

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

Что бы растянуть одну половину на все окно жми С-х 1
#  Re: Mutt
Anotheroneuser (syscall,27) → Andrew Lobanov  –  15:54:13 2019-01-14

Ого! Благодарю тебя. Сейчас попробую...
#  Re: Mutt
Andrew Lobanov (tavern,1) → Anotheroneuser  –  08:23:26 2019-01-14

>> Гуглиться надо, например, про связку 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';


>> Читать далее
#  Re: Mutt
Anotheroneuser (syscall,27) → Andrew Lobanov  –  05:36:45 2019-01-14

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

> Mutt для чтения и написания писем, fetchmail скачивает почту с сервера, procmail сортирует её, msmtp отправляет почту
Вот прикинь, насколько графические приложения калечат мозг. На собственном примере понимаю, до какой степени сложно въехать в то, что раньше давалось очень легко. Установил Thunderbird и понеслось.
А некоторым и Thunderbird сложно установить. И появляются люди, которые соблазняют возможностью обмениваться данными и вообще ни о чём не задумываться (разные WhatsApp и остальное).
Говорю это без всякого фанатизма, бешеных глаз и дрожащих рук (в которых зажаты свитки с сакральными знаниями)). Просто немного жаль, что раньше не приходило в голову разобраться с этим.
#  Re: Mutt
Andrew Lobanov (tavern,1) → Anotheroneuser  –  04:15:04 2019-01-14

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

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

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

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Mutt
Anotheroneuser (syscall,27) → All  –  20:39:59 2019-01-13

Не найдётся у кого-нибудь muttrc для mail.yandex? Или ссылки на нормальное руководство.
Ухрюкаться можно, пока разберёшься.
#  Re: Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → Anotheroneuser  –  11:11:35 2018-11-24

Не нашёлся выход. Наверное, самым идейно-верным будет скопировать материал и открывать их ­— один для изменений, другой — для чтения...
Если б можно было хотя бы read only открывать тот же материал .org. Чтобы не плодить копии.
#  Re: Документация
vit01 (mira, 1) → Difrex  –  12:27:52 2018-11-23

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

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

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

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

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

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
#  Emacs. Редактирование одного текста в нескольких местах
Anotheroneuser (syscall,27) → All  –  17:36:17 2018-11-22

Наверняка, такое уже случалось у кого-нибудь.
Один текст *.org, который надо видеть и изменять в нескольких местах.
Не подскажете какой-нибудь идейно правильный выход? :) Если делю экран на два, то там всё синхронно происходит, а это неудобно. Если открыть emacs дважды, тоже, кажется, выходит какая-то хрень.
#  org-mode и Github Projects
vit01 (mira, 1) → All  –  14:36:41 2018-11-14

У Гитхаба есть фича под названием 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-скрипт с подобным содержанием:


>> Читать далее
#  Re: org-mode и выход из дома
vit01 (mira, 1) → Difrex  –  03:25:32 2018-10-07

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 и выход из дома
Difrex (tavern,23) → vit01  –  13:33:01 2018-10-02

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

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

+++ А небо все точно такое же, как если бы ты не продался
#  org-mode и выход из дома
vit01 (mira, 1) → All  –  01:52:28 2018-10-02

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

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

Задачи

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

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

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

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM
#  JavaFX WebView
Andrew Lobanov (tavern,1) → All  –  06:00:31 2018-09-23

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Andrew Lobanov (tavern,1) → Anotheroneuser  –  09:20:42 2018-09-16

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

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

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Anotheroneuser (syscall,27) → Andrew Lobanov  –  06:53:24 2018-09-16

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

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

+++ А вы пощупайте-пощупайте! В нашем деле главное — пощупать.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Andrew Lobanov (tavern,1) → Anotheroneuser  –  05:38:36 2018-09-16

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


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

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
btimofeev (tavern,13) → Anotheroneuser  –  18:34:07 2018-09-15

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

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

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

Попробуй посмотреть через программу exiftool. Она кстати умеет переименовывать файл по дате https://m.habr.com/post/232267/
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Anotheroneuser (syscall,27) → btimofeev  –  17:40:17 2018-09-15

> Shotwell

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

Есть горы снимков, которые вообще не были датированы: указано 1 января 1980 года, но этого не может быть. И есть изображения, которые вообще не содержат какой-либо информации.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
btimofeev (mira, 24) → Anotheroneuser  –  19:54:47 2018-09-14

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

Как минимум это умела делать программа Shotwell. Это менеджер фотографий для гнома. Если не ошибаюсь она по-умолчанию импортирует фотографии в такую структуру директорий.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Anotheroneuser (syscall,27) → Andrew Lobanov  –  12:50:55 2018-09-14

Оказывается, есть много решений.
Например, такое.
====
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. ДД

>> Читать далее
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Anotheroneuser (syscall,27) → Andrew Lobanov  –  12:17:44 2018-09-14

> На выходных могу попытаться
Не.. Не хочу напрягать.
Корячусь сейчас сам. Нашёл программу fdupes -- пробую для начала дубликаты вычистить. А потом буду что-нибудь делать. Может, графической программой какой..
Начинаю усваивать, почему люди хвалят консольные программы. Графические приложения, несмотря на свою графичность, иногда так неочевидны, что трандец.
Пользователю нужен обычный алгоритм, который позволяет решение принимать (практически бездумно), а ему ребусы предлагают разгадывать. Лучше уж сразу в консоль залезть и оттуда править миром
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Andrew Lobanov (tavern,1) → Anotheroneuser  –  11:32:35 2018-09-14

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

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

+++ IDEC-Mobile
+++ Лично я вижу в этом перст судьбы — шли по лесу и встретили программиста.
#  Re: Разгрёб фото и пр. материалов. Перемещение, классификация
Anotheroneuser (syscall,27) → Anotheroneuser  –  09:52:08 2018-09-14

А, хочу добавить!
Обращаюсь, только если есть у кого готовое решение. Или просто за советом по тактике : правильно или неправильно. Может, что ещё
#  Разгрёб фото и пр. материалов. Перемещение, классификация
Anotheroneuser (syscall,27) → All  –  09:38:15 2018-09-14

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

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

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

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


>> Читать далее
#  Re: Emacs: как вставить одно и то же слово
Anotheroneuser (syscall,27) → Difrex  –  08:23:57 2018-08-29

Вот спасибо )

> Если знаешь регекспы, то там становится вообще просто
Не, не знаю. Но надо себя заставить...
Уж очень полезен этот трюк с одновременным добавлением слов куда-надо.
#  Re: Emacs: как вставить одно и то же слово
Difrex (tavern,23) → Anotheroneuser  –  06:24:47 2018-08-29

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

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

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

*** Sent from my GNU Emacs
#  Re: Emacs: как вставить одно и то же слово
Anotheroneuser (syscall,27) → Difrex  –  06:01:13 2018-08-29

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

Не-не ) Ты сказал, что можно -- это главное. Может попробую написать сам.. Иначе так никогда не начну. То же, блин, и с играми: учиться программированию с нуля слишком долго.
#  Re: Emacs: как вставить одно и то же слово
Difrex (tavern,23) → Anotheroneuser  –  05:38:45 2018-08-29

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

Можно. Доберусь до работы - напишу велосипед какой-нибудь 😂
#  Emacs: как вставить одно и то же слово
Anotheroneuser (syscall,27) → All  –  16:15:52 2018-08-28

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

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

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

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

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

>> Читать далее
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → Anotheroneuser  –  04:48:54 2018-08-21

поспешил..

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

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

А из нашего площадь окна Красн[]ая видна!
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → btimofeev  –  04:47:46 2018-08-21

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

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

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

А из нашего площад[]ь окна Красная видна!
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → Difrex  –  04:42:11 2018-08-21

О! Теперь понял, благодарю.
#  Re: Как в Emacs двигать слова
Andrew Lobanov (tavern,1) → Difrex  –  03:53:26 2018-08-21

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)

>> Читать далее
#  Re: Как в Emacs двигать слова
Andrew Lobanov (tavern,1) → btimofeev  –  03:52:36 2018-08-21

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

Раскопать какую функцию оно вызывает и как да написать биндинг. Или, если там не одной функцией всё делается, написать свою функцию и прилепить кейбиндинг. Надо посмотреть что да как там.
#  Re: Как в Emacs двигать слова
Difrex (tavern,23) → Anotheroneuser  –  21:38:32 2018-08-20

Короче, там курсор в конец нужного тебе слова надо ставить. Если ставишь в начало, то берет предыдущее. Так transpose-word работает, судя по доке.
#  Re: Как в Emacs двигать слова
btimofeev (tavern,13) → Anotheroneuser  –  21:36:11 2018-08-20

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

Да, берет предыдущее слово (до курсора) и меняет его со следующим (после курсора), после чего передвигает курсор через слово вперёд. Как-то так.
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → Difrex  –  20:43:52 2018-08-20

Работает! ) Только пока не до конца понятно.
Вот какое выходит кино:
https://yadi.sk/i/1fvUwhTP3aQWzM
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → btimofeev  –  20:31:48 2018-08-20

Да, правда! Работает.
> довольно объемный кейбиндинг
это тоже правда. Но привыкнуть можно.
#  Re: Как в Emacs двигать слова
Difrex (tavern,23) → Anotheroneuser  –  18:03:55 2018-08-20

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."


>> Читать далее
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → Difrex  –  17:54:25 2018-08-20

> Ща ноут у жены отберу и попробую накидать :)
Слушай, может не стоит так рисковать?? Фиг с ним. Выйдем из положения))
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → btimofeev  –  17:50:41 2018-08-20

А-а!
> C-u 4 M-t
а я просто М-t..
Попробую - спасибо.
#  Re: Как в Emacs двигать слова
Difrex (tavern,23) → Anotheroneuser  –  17:51:58 2018-08-20

Да не, оно довольно просто должно быть. Все функции уже есть в стоковом Емаксе.
Ща ноут у жены отберу и попробую накидать :)
#  Re: Как в Emacs двигать слова
btimofeev (tavern,13) → Anotheroneuser  –  16:47:18 2018-08-20

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

А чем оно тебе не подходит? Судя по справке это то, что тебе и нужно. К примеру C-u 4 M-t передвинет слово вперёд через 4 слова, C-u - 4 M-t назад через 4 слова. Правда довольно объемный кейбиндинг выходит, возможно можно как-то переопределить покороче.
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → Difrex  –  16:00:13 2018-08-20

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

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

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


>> Читать далее
#  Re: Как в Emacs двигать слова
Difrex (tavern,23) → Anotheroneuser  –  15:20:32 2018-08-20

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

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

+----------+ +----------+ +----------+
| word A | | word B | | word C |
| +-----+-----+ +---------+ |
+----------+ | +----------+ +----------+


>> Читать далее
#  Re: Как в Emacs двигать слова
Anotheroneuser (syscall,27) → Difrex  –  14:53:37 2018-08-20

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

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

#  Re: Как в Emacs двигать слова
Difrex (tavern,23) → Anotheroneuser  –  14:20:56 2018-08-20

Anotheroneuser> Бывают проблемы с лексикой и надо переместить слово в в другой конец предложения. Может быть, есть для этого удобное сокращение?

У меня есть код, который умеет двигать блок текста, как во всяких саблаймах
====
(defun setup-move-code-block ()
"Enable code moving like as Sublime."
(defun move-text-internal (arg)
(cond
((and mark-active transient-mark-mode)
(if (> (point) (mark))
(exchange-point-and-mark))
(let ((column (current-column))
(text (delete-and-extract-region (point) (mark))))
(forward-line arg)
(move-to-column column t)


>> Читать далее
#  Как в Emacs двигать слова
Anotheroneuser (syscall,27) → All  –  13:58:58 2018-08-20

Может быть, кто-то сталкивался с этим.
Ничего не нашёл, кроме -- менять слова местами по M-t
Бывают проблемы с лексикой и надо переместить слово в в другой конец предложения. Может быть, есть для этого удобное сокращение?
#  Re: Тормоза eMACS и первые впечатления от i3
Difrex (tavern,23) → Anotheroneuser  –  06:30:47 2018-08-15



Anotheroneuser> > Используй emacs server и emacsclient -с к нему. Будешь что-то такое глобальное делать - просто выполни systemctl --user restart emacs
Anotheroneuser> emacs server и emacsclient -с -- это отдельно как-то устанавливать надо?
Не, в составе дистрибутива емакса уже все идет, а начиная с 26 версии ещё и юзерский юнит systemd.
#  Re: Тормоза eMACS и первые впечатления от i3
Anotheroneuser (syscall,27) → Difrex(mobile)  –  10:09:09 2018-08-13

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

> Используй emacs server и emacsclient -с к нему. Будешь что-то такое глобальное делать - просто выполни systemctl --user restart emacs
emacs server и emacsclient -с -- это отдельно как-то устанавливать надо?
#  Re: Тормоза eMACS и первые впечатления от i3
Andrew Lobanov (tavern,1) → Anotheroneuser  –  17:33:19 2018-08-10

Anotheroneuser> Это не давало мне спать ночью, когда проливной дождь по-летнему хлестал в тёмное окно.

Поэтично =)

Anotheroneuser> Мне виделся Andrew Lobanov, который весело рассуждал, как это здорово -- быть Emacs-ером. Можно жить и ни о чём не переживать, ведь теперь все твои проблемы ерунда, по сравнению с этим..

=)

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

Anotheroneuser> Недавно я осознал, насколько он был... прав! :)

Просто делает жизнь чуточку проще =)

Anotheroneuser> Короче, стояла у меня прога под названием CopyQ.

>> Читать далее
#  Re: Тормоза eMACS и первые впечатления от i3
Difrex(mobile) (tavern,23) → Anotheroneuser  –  17:29:36 2018-08-10

>Работал в Emacs --nw и иногда не мог ничего скопировать/вставить по M-w или Ctrl+Shift+C.
Если есть иксы, то нет никакого смысла использовать консольный емакс

Anotheroneuser> Удалить -- удалил, но сессию не перезапустил.
Используй emacs server и emacsclient -с к нему. Будешь что-то такое глобальное делать - просто выполни systemctl --user restart emacs

#  Тормоза eMACS и первые впечатления от i3
Anotheroneuser (syscall,27) → All  –  16:26:41 2018-08-10

Тормоза eMACS
----

Возникали при попытке удалить несколько слов удержанием C-Backspace.
Это не давало мне спать ночью, когда проливной дождь по-летнему хлестал в тёмное окно.
Мне виделся Andrew Lobanov, который весело рассуждал, как это здорово -- быть Emacs-ером. Можно жить и ни о чём не переживать, ведь теперь все твои проблемы ерунда, по сравнению с этим..
Недавно я осознал, насколько он был... прав! :)

Короче, стояла у меня прога под названием CopyQ.
Она и тормозила.
Узнал случайно. За ненадобностью снёс к едреням, поскольку начал подозревать её в хищении содержимого буфера обмена или как он правильно называется в Emacs. Работал в Emacs --nw и иногда не мог ничего скопировать/вставить по M-w или Ctrl+Shift+C.
Удалить -- удалил, но сессию не перезапустил.
И зачем-то запустил Emacs-GUI. C-Backspace-нул несколько раз и Cinnamon выдал поленницу ошибок CopyQ. Тут-то до меня и дошло, что вот она, падла, где была загвоздка.
Перезапустил сессию, запустил Emacs-GUI, C-Backspace-нул и никаких тормозов.
Всё, можно спать спокойно.

>> Читать далее
#  Re: NNTP, Usenet, Emacs, gnus
Andrew Lobanov (tavern,1) → Peter  –  03:06:09 2018-08-04

>> Кстати, я знаю, что в клубе есть эхи из секты =) Но я не знаю какие и есть ли где-то их список.

> А на сайте есть кнопка подписки. Это ж твой iing на стероидах. Там и список есть.

Ну я из этого и исходил. В iing на главной все публичные эхи видно =)
#  Re: NNTP, Usenet, Emacs, gnus
Peter (syscall,1) → Andrew Lobanov  –  20:42:14 2018-08-03

> Кстати, я знаю, что в клубе есть эхи из секты =) Но я не знаю какие и есть ли где-то их список.

А на сайте есть кнопка подписки. Это ж твой iing на стероидах. Там и список есть.
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → btimofeev  –  20:29:23 2018-08-03

btimofeev> Из цезия выходи кнопкой F10 - будет все нормально (кнопки можешь переопределить в файле keys.py)

btimofeev> Выбирай python3 или запускай просто командой "./caesium.py" из директории с цезием, он сам найдет нужный питон.

Теперь всё ясно, благодарю )
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Andrew Lobanov  –  20:29:23 2018-08-03

> AL> В ридми описаны хоткеи. Для выхода жми F10. Потому что ncurses при аварийном закрытии приложения (по Ctrl+C например) не возвращает терминал в исходное состояние. Питонов у тебя нормально. По сути тольк второй и третий, что есть норма. Остальное это симлинки на эти два интерпритатора.
Теперь дошло, почему F10 нажимать надо было.

> набираешь ./caesium.py. Он запустится без проблем
Теперь понял, как запускать программы )) А то, python3 caesium.py набирал.
#  Re: NNTP, Usenet, Emacs, gnus
btimofeev (tavern,13) → Anotheroneuser  –  20:35:18 2018-08-03

По поводу команды clear в терминале: она просто сдвигает все предыдущие команды за пределы экрана. Если у тебя терминал начал неправильно что-то отображать, то выполни команду reset, она сбросит настройки терминала на дефолтные.
#  Re: NNTP, Usenet, Emacs, gnus
btimofeev (tavern,13) → Anotheroneuser  –  20:21:04 2018-08-03

Из цезия выходи кнопкой F10 - будет все нормально (кнопки можешь переопределить в файле keys.py)

Выбирай python3 или запускай просто командой "./caesium.py" из директории с цезием, он сам найдет нужный питон.
#  Re: NNTP, Usenet, Emacs, gnus
Andrew Lobanov (tavern,1) → Anotheroneuser  –  20:17:59 2018-08-03

>> Не совсем понятно о чём речь.
Anotheroneuser> Вот ссылка на каталог со снимками экрана: https://yadi.sk/d/Jn9OwvFH3Zspan
Anotheroneuser> Я там кое-что подтёр, не обессудьте — в Сети же общаемся.

В ридми описаны хоткеи. Для выхода жми F10. Потому что ncurses при аварийном закрытии приложения (по Ctrl+C например) не возвращает терминал в исходное состояние. Питонов у тебя нормально. По сути только второй и третий, что есть норма. Остальное это симлинки на эти два интерпритатора.

>> Скрипт сам должен выбрать третий питон. Совместимость гарантирована с версии 3.2 по 3.7.
Anotheroneuser> Когда запускаю, просто кликнув на caesium.py мышкой, так и получается. Но когда запускаю из терминала, то возникает такой вот вопрос. Жить это не мешает.

Вопрос не понял. В терминале переходишь в директорию цезия и набираешь ./caesium.py. Он запустится без проблем. Или просто Enter в mc когда курсор на этом файле.
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Andrew Lobanov  –  19:29:23 2018-08-03

> Не совсем понятно о чём речь.
Вот ссылка на каталог со снимками экрана: https://yadi.sk/d/Jn9OwvFH3Zspan
Я там кое-что подтёр, не обессудьте — в Сети же общаемся.

> Скрипт сам должен выбрать третий питон. Совместимость гарантирована с версии 3.2 по 3.7.
Когда запускаю, просто кликнув на caesium.py мышкой, так и получается. Но когда запускаю из терминала, то возникает такой вот вопрос. Жить это не мешает.
#  Re: NNTP, Usenet, Emacs, gnus
Andrew Lobanov (tavern,1) → Anotheroneuser  –  19:27:39 2018-08-03

Anotheroneuser> А можно ещё спросить? Когда запускаю Цезий в терминале, то какой... из питонов выбирать? ) А то, у меня их тут почему-то несколько. Когда Цезий закрываю, то приходится немного корячиться с выходом — не сразу получается вернуть терминал в исходное состояние.

Не совсем понятно о чём речь. Скрипт сам должен выбрать третий питон. Совместимость гарантирована с версии 3.2 по 3.7.
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → btimofeev  –  19:07:25 2018-08-03

> btimofeev> В конфиге цезия пропиши строку:
> btimofeev> editor emacs

Во. Получилось.
А можно ещё спросить? Когда запускаю Цезий в терминале, то какой... из питонов выбирать? ) А то, у меня их тут почему-то несколько. Когда Цезий закрываю, то приходится немного корячиться с выходом — не сразу получается вернуть терминал в исходное состояние.

Сейчас снимок экрана сделаю.
#  Re: NNTP, Usenet, Emacs, gnus
btimofeev (tavern,13) → Anotheroneuser  –  18:21:35 2018-08-03

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

В конфиге цезия пропиши строку:
editor emacs
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Andrew Lobanov  –  17:51:20 2018-08-03

> Цезий пока не очень дружелюбен и требует правку конфига. После указания адреса ноды укажи

Блин, там, оказывается, надо было $ удалить по бокам.
Я не удалил, вот оно и не работало. Благодарю )
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Peter  –  17:47:45 2018-08-03

Peter> А так - есть caesium: http://instead.syscall.ru/ru/club/

> Настроил. Тут единственный фокус — это редактирование сообщений с помощью nano. Наверное, в настройках можно заменить его? А то, я тут чё-то.. пока не очень ))
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Peter  –  17:39:20 2018-08-03

> Вот тут внизу страницы написано
Как раз, сделал, как там.
Всё равно unknown auth.

auth $вставил, какой надо$
to $Anotheroneuser$

Может, что-то ещё надо?
#  Re: NNTP, Usenet, Emacs, gnus
Andrew Lobanov (tavern,1) → Peter  –  17:48:14 2018-08-03

Peter> Вот тут внизу страницы написано:
Peter> https://instead-hub.github.io/page/club/

Кстати, я знаю, что в клубе есть эхи из секты =) Но я не знаю какие и есть ли где-то их список.

ЗЫЖ Да это агитация за секты =)
#  Re: NNTP, Usenet, Emacs, gnus
Andrew Lobanov (tavern,1) → Anotheroneuser  –  17:46:03 2018-08-03

Anotheroneuser> > А так - есть caesium:
Anotheroneuser> Установил, запустил, но когда пытаюсь написать сюда, он отвечает

Anotheroneuser> ====
Anotheroneuser> Работа с http://ii.club.syscall.ru/
Anotheroneuser> Отправка сообщения: 1/1
Anotheroneuser> ERROR: unknown auth!
Anotheroneuser> ====

Anotheroneuser> Надо пароль ввести, а куда — х/з.
Anotheroneuser> Куда? )

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

====


>> Читать далее
#  Re: NNTP, Usenet, Emacs, gnus
Peter (syscall,1) → Anotheroneuser  –  17:28:48 2018-08-03

> Надо пароль ввести, а куда — х/з.
> Куда? )

Вот тут внизу страницы написано:
https://instead-hub.github.io/page/club/
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Peter  –  17:13:27 2018-08-03

> А так - есть caesium:
Установил, запустил, но когда пытаюсь написать сюда, он отвечает

====
Работа с http://ii.club.syscall.ru/
Отправка сообщения: 1/1
ERROR: unknown auth!
====

Надо пароль ввести, а куда — х/з.
Куда? )
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Peter  –  17:11:11 2018-08-03

Понял. Ну мне главное — узнать, что есть нормальные пути, а есть пути, которые теряются во мраке. Возможно Emacs-way применительно к IDEC теряется во мраке..
#  Re: NNTP, Usenet, Emacs, gnus
Peter (syscall,1) → Anotheroneuser  –  17:00:56 2018-08-03

> Не ткнёшь носом в более-менее внятную инструкцию? Я так и не смог понять, как делать.

Прямо сейчас не смогу, я давно настраивал. Могу попробовать освежить по своим конфигам. Но позже.
Ну или тут кто то из emacs пользователей за это время напишет. :)
#  Re: NNTP, Usenet, Emacs, gnus
Andrew Lobanov (tavern,1) → Peter  –  17:04:43 2018-08-03

Peter> Через usenet еще можно читать fido. по моему. Но вообще, я не знаю, есть сейчас действующие сервера. Мне кажется, особой жизни нет.

Иерархия fido7 (соответствует 50 региону фидонета, то есть России) доступна на множестве nntp-серверов.

Русскоязычный Usenet больше мёртв, чем жив. В англоязычном жизнь есть, вроде. В общем, ситуация как с irc.

Для idec есть

https://github.com/idec-net/idec.el

Но я не знаю насколько он юзабелен пока, так как пользуюсь цезием (https://github.com/idec-net/caesium) и idec-mobile (https://github.com/idec-net/idec-mobile).
#  Re: NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → Peter  –  16:34:26 2018-08-03

> Думаю, не стоит
Вот, благодарю. Сэкономлю время.
То есть, club.syscall.ru — это не NNTP? Не получится подключиться с помощью gnus-а и писать сюда из него?

> Мне кажется, особой жизни нет
Жаль.. Ну, может, всё ещё впереди.

> А так - сейчас почти все web почтой пользуются
А как шифровать? Все-то все, понятное дело..

> Читать gnus почту можно
Не ткнёшь носом в более-менее внятную инструкцию? Я так и не смог понять, как делать.
Вообще, отсутствие инструкций для чайников очень, скажем так, отдаляет людей от хороших программ. Или программы от людей )
То, что я видел на картинках, мне понравилось.
Ну и рассказывают красиво: настройки, расширения/сужения и всё такое.

>> Читать далее
#  Re: NNTP, Usenet, Emacs, gnus
Peter (syscall,1) → Anotheroneuser  –  16:26:10 2018-08-03

Да, чуть не забыл. idec читать из emacs вроде бы можно, если поставить разработанный тут кем-то софт.
Но я забыл, в каком он статусе. :)
А так - есть caesium: http://instead.syscall.ru/ru/club/
#  Re: NNTP, Usenet, Emacs, gnus
Peter (syscall,1) → Anotheroneuser  –  16:24:25 2018-08-03

> - стоит ли уделять время изучению NNTP?
> - можно ли посредством gnus подключиться к здесь (я имею в виду club.syscall.ru)? Если да, то не подбросите ли кусок кода, чтобы я его просто вставил и запустил?

Думаю, не стоит. Если есть желание, gnus ом можно читать обычную почту. Я так делаю на работе.

> - Пользуются ли сейчас Usenet и нужно ли тратить время на его изучение? Мне почему-то кажется, что его устройство (читал о нём в описании) — хорошО. Интуитивно кажется.

Через usenet еще можно читать fido. по моему. Но вообще, я не знаю, есть сейчас действующие сервера. Мне кажется, особой жизни нет.

> - Удобно ли читать почту в gnus или для этого лучше использовать другой Emacs-модуль? Не помню его названия.. что-то там тоже mail. А! Rmail! Или, может, вообще настроить mutt? Или, может, есть какие-нибудь ещё пути..

Читать gnus почту можно. Достаточно удобною На самом деле, самоцели технологии ради технологии это -- наверное-- не нужно. :) А так - сейчас почти все web почтой пользуются.

> Хочется отказаться от Thunderbird и постепенно уйти от графического управления.


>> Читать далее
#  NNTP, Usenet, Emacs, gnus
Anotheroneuser (syscall,27) → All  –  16:13:37 2018-08-03

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

Прочитал инструкции, попробовал отредактировать .emacs и что-то там ещё — ничего не получилось.
Потом обратил внимание на наш местный адрес и начало доходить, что тут-то, возможно, тоже NNTP.

Короче.
Подскажите, пожалуйста:
- стоит ли уделять время изучению NNTP?
- можно ли посредством gnus подключиться к здесь (я имею в виду club.syscall.ru)? Если да, то не подбросите ли кусок кода, чтобы я его просто вставил и запустил?

Ну и пара вопросов уже не по теме:
- Пользуются ли сейчас Usenet и нужно ли тратить время на его изучение? Мне почему-то кажется, что его устройство (читал о нём в описании) — хорошО. Интуитивно кажется.
- Удобно ли читать почту в gnus или для этого лучше использовать другой Emacs-модуль? Не помню его названия.. что-то там тоже mail. А! Rmail! Или, может, вообще настроить mutt? Или, может, есть какие-нибудь ещё пути..


>> Читать далее
#  PostgreSQL: создание пользователя, базы данных и прав доступа
Difrex(mobile) (tavern,23) → All  –  08:00:18 2018-07-08

По умолчанию создается суперпользователь имеющий все права. С помощью следующей команды запустим в режиме администртора


$ sudo -u postgres psql

Добавление...

Ссылка: http://sudnitsina.pythonanywhere.com/post/16/
#  Django - удаление файла с диска
Difrex(mobile) (tavern,23) → All  –  10:00:34 2018-07-06

Добавляем в модель метод delete:


def delete(self, *args, **kwargs):
storage, path = self.file.storage, self.file.path
super(Post...

Ссылка: http://sudnitsina.pythonanywhere.com/post/10/
#  Экспорт и импорт данных в Django
Difrex(mobile) (tavern,23) → All  –  10:00:25 2018-07-06

Быстрый способ передать данные - воспользоваться встроенными средствами Django: dumpdata и loaddata.


./manage.py dumpdata

выведет все данные приложений из INSTALLED...

Ссылка: http://sudnitsina.pythonanywhere.com/post/11/
#  Django - удаление файла с диска
Difrex(mobile) (tavern,23) → All  –  13:00:30 2018-06-29

Добавляем в модель метод delete:


def delete(self, *args, **kwargs):
storage, path = self.file.storage, self.file.path
super(Post...

Ссылка: http://sudnitsina.pythonanywhere.com/post/1/
#  Экспорт и импорт данных в Django
Difrex(mobile) (tavern,23) → All  –  13:00:30 2018-06-29

Быстрый способ передать данные - воспользоваться встроенными средствами Django: dumpdata и loaddata.


./manage.py dumpdata

выведет все данные приложений из INSTALLED...

Ссылка: http://sudnitsina.pythonanywhere.com/post/12/
#  Тестирование django проекта с использованием coverage.py
Difrex(mobile) (tavern,23) → All  –  13:00:29 2018-06-29

Coverage — инструмент, позволяющий оценить степерь покрытия кода тестами. Устанавливаем coverage:


pip install coverage

Запускаем тесты:


coverage run manage.py test...

Ссылка: http://sudnitsina.pythonanywhere.com/post/15/
#  Как добавить Google OAuth в Django
Difrex(mobile) (tavern,23) → All  –  13:00:25 2018-06-29

Для добавления аутентификации воспользуемся библиотекой Python Social Auth Выполняем установку


$ pip install social-auth-app-django

Добавим ‘social_django’ в INSTALLED_APPS, после чего выполним...

Ссылка: http://sudnitsina.pythonanywhere.com/post/14/
#  Экспорт и импорт данных в Django ч.2: сериализация
Difrex(mobile) (tavern,23) → All  –  13:00:24 2018-06-29

Сериализация объектов в Джанго предоставляет механизм преобразования моделей в другие форматы. Выполняется простой операцией:


from django.core import serializers
data...

Ссылка: http://sudnitsina.pythonanywhere.com/post/13/
#  Re: Microsoft купил Github и будет устанавливать там свои порядки
Difrex(mobile) (tavern,23) → vit01  –  12:13:51 2018-06-27

>Сабж. Ваши действия?

Какие-то репы отзеркалил на Gitlab. Но на самом деле никуда сломя голову бежать с гитхаба я не собираюсь.
Новые проекты я начинаю у себя в Gitea, а потом они все-равно открываются, так что мне тоже бояться нечего :)
#  Re: Microsoft купил Github и будет устанавливать там свои порядки
vit01 (mira, 1) → Andrew Lobanov  –  15:30:40 2018-06-18

vit01>> Сабж. Ваши действия?

AL> Как там развиваются события? Уже пора переходить на self-hosted? =)

Пока решил лично для себя, что валить не буду, потому что

1. Весь мой код свободный, и приватных репозиториев нет, следовательно бояться нечего
2. МС пока не предпринимают никаких действий, потому что хотят сохранить аудиторию (тем более, многие от испуга уже свалили на гогс или гитлаб)
3. Git распределённый, и альтернатив для хостинга достаточно, поэтому мигрировать всегда успеем, если вдруг прижмёт
#  Re: Microsoft купил Github и будет устанавливать там свои порядки
Andrew Lobanov (tavern,1) → vit01  –  14:13:46 2018-06-18

vit01> Сабж. Ваши действия?

Как там развиваются события? Уже пора переходить на self-hosted? =)
#  Re: Microsoft купил Github и будет устанавливать там свои порядки
Anotheroneuser (syscall,27) → vit01  –  15:53:21 2018-06-05

Пока слежу за развитием событий <https://www.linux.org.ru/news/opensource/14260200>;
#  Microsoft купил Github и будет устанавливать там свои порядки
vit01 (mira, 1) → All  –  11:47:57 2018-06-05

Сабж. Ваши действия?
#  Re: Emacs
Anotheroneuser (syscall,27) → Difrex  –  07:00:02 2018-05-17

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

Занят сейчас поиском учебного материала по EMACS и наткнулся на сетевой дневник Саши Чуа (любопытная и интеллектуальная филиппинка), где она опубликовала источники, подходящие для изучения EMACS на первых, вторых и т.д. порах: http://sachachua.com/blog/2014/04/emacs-beginner-resources/

Всё, разумеется, по-английски.
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Andrew Lobanov  –  05:30:31 2018-05-17

> авторов и названия

Авторы и названия литературы об алгоритмах.
Цель единственная — освоение программирования игр.

====
-1-

Algorithms Unlocked / Алгоритмы. Вводный курс
Год: 2014
Автор: Thomas H. Cormen / Томас Х. Кормен
Переводчик: Игорь Красиков

-2-


>> Читать далее
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → vit01  –  04:03:43 2018-05-17

>>>>  Awesome WM
AL>> А вот тут моё мнение диаметрально противоположное, если честно. Использовать лучше то, к чему привык. Конечно, любопытство в своё время заставило меня попробовать так называемые тайловые оконные менеджеры, да так на них и остался по сей день, но Awesome достаточно сложен в настройке, если именно осмысленно писать ему конфиг и аплеты, и его изучение требует времени и сил.
vit01> Ничего ведь не мешает просто попробовать. Да, конечно, для настройки авесома надо мануалов покурить, поизучать чужие примеры. Но зато интеграция WM с языками программирования вырабатывает творческий подход к своему десктопу.

Это основная причина, по которой я отказался и от Fvwm и от stumpwm. Я в итоге слишком много времени тратил на кастомизацию, вместо того, чтобы пользоваться машиной =)
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  04:03:42 2018-05-17

Anotheroneuser> * Потом, когда ещё не было Спектрумов, пробовали составлять игры самостоятельно, но недоставало знания алгоритмизации (их и теперь недостаёт, но мне удалось найти литературу [1]. В конце задам вопрос по ней)

Ссылки не стоит, но авторов и названия же можно =)

Anotheroneuser> * Потом начались Спектрумы 48К, игры на кассетах, которые мы покупали ещё на старые российские рубли. Там уже, конечно, всё было по-взрослому: графика и прочее. Вот, текстовых игр для Спектрума я что-то не припоминаю..

Были, конечно. И их было много. На https://www.worldofspectrum.org/ их насчитывается 2217 штук. Для меня года с 1996-го это стал практически основной жанр игр, в которые я играл тогда.

Anotheroneuser> Припоминаю, как сосед, который учился в школе с уклоном по информатике, писал в клетчатой тетради программы для ЭВМ. На каком языке он их писал, уже не помню. Кажется, Бейсик. Некоторые вещи мне удавалось выучить попутно. Потом удивлял друзей, оказавшись в классе информатики, где учились уклоняющиеся в неё старшеклассники и оставляли машины (Электроника какая-то там) включенными с результатом на экранах. Мне удавалось изменять код и запускать его снова. Получалась хрень, но это впечатляло непосвящённых ))

Я так и не позанимался на компьютерах в школе. Да и были там корветы до самого моего 10 класса. Как раз когда я перешёл в 10 класс, поставили третьи пентиумы и там уже был паскаль.

Anotheroneuser> Вообще, тот код писать было весело.

Это да =)
#  Re: Освоение программирования
vit01 (mira, 1) → Andrew Lobanov  –  01:33:48 2018-05-17

>>>  Awesome WM

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

Ничего ведь не мешает просто попробовать. Да, конечно, для настройки авесома надо мануалов покурить, поизучать чужие примеры. Но зато интеграция WM с языками программирования вырабатывает творческий подход к своему десктопу.
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Andrew Lobanov  –  20:05:39 2018-05-16

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

У меня вот не слишком интересно.

* Как уже говорил, в детстве со старшим братом проходили «Лабиринт колдуна» Юрия Пульвера
https://quest-book.ru/forum/images/upload/2_d40701905cb005a2f4bb32540fea6c95.jpg
* Потом была Стальная Крыса Г.Гаррисона, которую прочитал, конечно, всю. Пусть земля ему будет пухом, этому человеку. Из приключенческих там была «Стань Стальной Крысой», которую впоследствии несколько раз с удовольствием прошёл на INSTEAD.
* Потом, когда ещё не было Спектрумов, пробовали составлять игры самостоятельно, но недоставало знания алгоритмизации (их и теперь недостаёт, но мне удалось найти литературу [1]. В конце задам вопрос по ней)
* Потом начались Спектрумы 48К, игры на кассетах, которые мы покупали ещё на старые российские рубли. Там уже, конечно, всё было по-взрослому: графика и прочее. Вот, текстовых игр для Спектрума я что-то не припоминаю.. Припоминаю, как сосед, который учился в школе с уклоном по информатике, писал в клетчатой тетради программы для ЭВМ. На каком языке он их писал, уже не помню. Кажется, Бейсик. Некоторые вещи мне удавалось выучить попутно. Потом удивлял друзей, оказавшись в классе информатики, где учились уклоняющиеся в неё старшеклассники и оставляли машины (Электроника какая-то там) включенными с результатом на экранах. Мне удавалось изменять код и запускать его снова. Получалась хрень, но это впечатляло непосвящённых ))
Вообще, тот код писать было весело.
* По-настоящему к компу удалось приобщиться лишь в 2006 году. Пришлось приобщиться, я бы даже так сказал. Всё происходило на бегу, лету и ползу (если есть такое слово).

---
[1] Нарыл несколько популярных изданий по алгоритмизации. Хотел бы посоветоваться по ним, но не знаю, можно ли тут выкладывать ссылки: они все ведут на Rutracker :)
#  Re: Освоение программирования
Peter (syscall,1) → Andrew Lobanov  –  08:19:48 2018-05-15

> // Надеюсь, это было не слишком скучно читать =)

Интересно. :) Лучшая часть, конечно, это:

====
-.-
*=(0)
====

:)
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Peter  –  04:24:35 2018-05-15

Peter> Сугубо для оживления беседы. :) У меня был примерно такой путь:

Забыл же про свой неказистый путь рассказать =)

Когда мне было два года, отец собрал свой первый компьютер Радио-86РК. Честно говоря, я ничего толкового о нём рассказать не могу, кроме того, что мне очень нравилась на нём игра "Клад" и ещё отец написал простенькую программку, которая занимала меня пока он готовил ужин, а за одно учила считать до десяти. На экране было изображено десять вертолётиков и если я правильно их сосчитал и ввёл ответ, один из них улетал. Изображались вертолётики вот так:

====
-.-
*=(0)
====


так как компьютер не имел графического видеорежима.

Потом был спектрум. Тоже самопальный и в разных вариантах. Без дисковода с 48 килобайтами памяти, с дисководом с ним же, с 128 килобайтами памяти, потом даже с музыкальным сопроцессором. Там я лет до восьми только в игрушки играл и баловался графическим редактором Art Studio. А лет в восемь задал себе вопрос: как же делаются эти игрушки? Как раз примерно в это время мой друг принёс мне книжку по бейсику для детей. Называлась она, как сейчас помню, "Сказки дядюшки компьютера". Там были нелепые истории и самое ценное - примеры программ на бейсике, визуализирующие эти истории. Меня тогда это сильно впечатлило, но при ближайшем рассмотрении оказалось, что написаны они на диалекте бейсика, отличном от спектрумовского. Сейчас я искренне недоумеваю как мне тогда это удалось, но я смог их ввести в спектрум и адаптировать под имеющийся диалект.


>> Читать далее
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  04:24:35 2018-05-15

Anotheroneuser> Я о Моженкове особо ничего не знаю, если честно. ПРосто его видеодневник попался мне в Youtube и показался нормальным. Он там старается аккуратно советовать, так что, может я что-то не так понял: если разбираться, то придётся лезть в вашу профессию, а я не могу по причине полного отсутствия представления о ней )

Я о нём вообще только от тебя услышал. Просто рекомендовать C++ как основной язык сегодня не очен хорошо даже для профессионалов. Рекомендовать же его любителям и вовсе вредительство. Если говорить, например, о профессиональной деятельности, то знание C++ сейчас требуется только для сопровождения старых программ и кучи чужого кода. Новые программы на нём пишут мало. По крайней мере в сфере коммерческого ПО.

// Я говорю много тут, но на самом деле я совершенно не имею отношения к программированию в своей профессиональной деятельности. Максимум это простые скрипты иногда. Программирование для меня всего лишь хобби.
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  04:24:34 2018-05-15

>>  Это должно научить некоторым базовым вещам
Anotheroneuser> А могу я некоторые базовые вещи освоить просто в теории? Или обязательно надо сразу где-то закреплять их на практике?

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

>>  Awesome WM
Anotheroneuser> На некоторых снимках выглядит обалденно. Только у меня не настолько глубокое знание Linux на данный момент. Уже несколько лет работаю в Mint. Но надо что-то менять — согласен. Попробую..

А вот тут моё мнение диаметрально противоположное, если честно. Использовать лучше то, к чему привык. Конечно, любопытство в своё время заставило меня попробовать так называемые тайловые оконные менеджеры, да так на них и остался по сей день, но Awesome достаточно сложен в настройке, если именно осмысленно писать ему конфиг и аплеты, и его изучение требует времени и сил.
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  04:24:33 2018-05-15

Anotheroneuser> Это позволит сэкономить массу сил. По-крайней мере, сейчас, когда их действительно есть куда девать. Как ты понимаешь, до меня практически не доходят характеристики языков программирования. Я просто не понимаю, что значит «монструозный-компактный» или «простой-сложный».

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

Anotheroneuser> С моей точки зрения на данный момент, язык — некий набор инструментов, с помощью которого мне предстоит оживить сценарий игры. Как это будет в натуре, пока даже не представляю. Ну main3.lua понять могу. И приблизительно представляю себе, что движок будет воспроизводить то, что предусмотрено алгоритмом, который ему напишешь в main3.lua. Наверное, в main3.lua же будут содержаться ссылки на звуковые- видео- фото- и прочие материалы, которые необходимо разместить в каталоге игры (это, кстати, отлично).

Instead предоставляет кучу удобных штук для программирования игр. Причём по большей части для написания игры уровня квантового кота (эталон да =) можно прочесть только документацию к движку и изучить код какой-нибудь простой игры. Тут я только о своих играх могу судить, так как в чужой код лажу редко, если это не код stead. Правда сейчас есть смысл опираться только на новое ядро, так что даже и не знаю в какую игру посоветовать заглянуть.

Anotheroneuser> Но читать код... пока не понимаю. Изучаю пособие. Слава Богу, кстати, что не придётся пока учить С++ )) Наверное, на это уйдут годы

Ну с инстедом всё просто на самом деле. Есть в РИЛ-сообществе мнение, что инсед сложный, но на самом деле это не так. Инстед против FireURQ, ИМХО, примерно как go против python. То есть писать на питоне, может, ипроще новичку, но go проще устроен с точки зрения синтаксиса и структуры языка. Инстед это простой инструмент, но не с самым низким порогом вхождения. Но это так. Растекаюсь мыслью по байтам =)

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

По секрету скажу, что я до сих пор не знаю lua, так как не прочёл ни одного учебника по этому языку. Просто я изучал чужие игры и экспериментировал =)
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Andrew Lobanov  –  18:52:17 2018-05-14

Я о Моженкове особо ничего не знаю, если честно. ПРосто его видеодневник попался мне в Youtube и показался нормальным. Он там старается аккуратно советовать, так что, может я что-то не так понял: если разбираться, то придётся лезть в вашу профессию, а я не могу по причине полного отсутствия представления о ней )

> На самом деле, выражать свои мысли в коде проще, когда имеешь простой инструмент. lua достаточно компактный язык
Эта мысль меня вполне удовлетворяет.
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → vit01  –  18:49:00 2018-05-14

> Это должно научить некоторым базовым вещам
А могу я некоторые базовые вещи освоить просто в теории? Или обязательно надо сразу где-то закреплять их на практике?

> сразу "потрогать" результат своего труда
Да. Именно так. Есть запас сил и не хотелось бы перерасходовать его. Хотелось бы составить алгоритм и посмотреть, как он будет исполняться. Короче, Lua так Lua.

> Awesome WM
На некоторых снимках выглядит обалденно. Только у меня не настолько глубокое знание Linux на данный момент. Уже несколько лет работаю в Mint. Но надо что-то менять — согласен. Попробую..
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Andrew Lobanov  –  18:03:57 2018-05-14

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

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

Но читать код... пока не понимаю. Изучаю пособие. Слава Богу, кстати, что не придётся пока учить С++ )) Наверное, на это уйдут годы
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Peter  –  17:36:17 2018-05-14

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

Но Бейсик мне запомнился. И «Лабиринт колдуна».
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Peter  –  16:57:52 2018-05-14

Peter> Сугубо для оживления беседы. :) У меня был примерно такой путь:

Довольно увлекательный, надо сказать, путь =)

Peter> 15) Написал INSTEAD. Понравился Lua, появился инстерес к высокоуровневым языкам. Так что теперь с удовольствием применяю то, что попадется под руку.

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

Peter> 16) Работы менялись, но C остался =)

И это не просто так. До сих пор считаю его очень крутым инженерным языком. Конечно, писать прикладной софт на нём нынче не очень удобно, КМК, но системные вещи сам Пат велел =)
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → vit01  –  16:57:52 2018-05-14

>>> Переходи сразу к lua
Anotheroneuser>> Привлекательная мысль, благодарю. И очень сэкономит время.
vit01> То, что для "настоящего" обучения программированию советуют C++, на самом деле не лишено смысла. Это должно научить некоторым базовым вещам, да и строгая типизация дисциплинирует.

ИМХО, а я не настоящий сварщик, делать первые шаги с C++ имеет смысл только если под рукой есть гуру, который всегда придёт на помощь. Причём именно гуру, а не преподаватель.

vit01> На мой взгляд, самое важное в обучении программированию - это иметь возможность сразу "потрогать" результат своего труда. А если твоя краткосрочная цель есть написание игрушек на Инстеде, то Lua - это точное попадание. Так у тебя будет мотивация улучшать свои навыки, и, натренировавшись, можно будет углубляться, переходить от простого к сложному. К тем же плюсам, например.

Да, собственно, до долгой сборки проектов на том же C++ ещё дожить надо. Так что потрогать на первых порах получится сразу практически с любым компилятором.
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  16:57:52 2018-05-14

>>  Не знаю почему тебе советовали начинать с С++
Anotheroneuser> Программу обучения составляю спешно, ориентируясь на мнение таких людей, как ты, Андрей, Пётр — специалистов.
Anotheroneuser> Начинать с С++ рекомендует В.Моженков в своём видеожурнале https://www.youtube.com/playlist?list=PLY7PmJJFH5nS_QOUktkW_eJikn41A819x
Anotheroneuser> Он говорит, что начинать изучение программирования с какого-нибудь вспомогательного (возможно, я не точно воспроизвожу его слова) языка приведёт к тому, что впоследствии придётся осваивать основной язык как бы заново. Может быть, меня попросту переклинило в анализе этой теории применительно к изучению Lua по отношению к C++... А, может, Моженков говорил это не для всех, а лишь для тех, кто планирует капитально связать свою жизнь с программированием и заниматься им профессионально? У меня-то нет такой цели.

Если честно, по ссылке я не сходил, но сильно не согласен с В. Моженковым по той простой причине, что в современном мире именно C++ требуется разве что для поддержки legacy-кода. Для системщиков он так и остался слишком монструзным, хотя кто-то что-то и пишет на нём, а для прикладного ПО появились более классные языки. Причём если говорить именно о прикладном ПО, то опускаться до низкого уровня нынче нет никакого смысла, так как большинство потребностей программиста, особенно если он пишет для себя, с лихвой покроют те же python или go.

>>  Переходи сразу к lua
Anotheroneuser> Привлекательная мысль, благодарю. И очень сэкономит время.

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

// Может, я предвзят, но С++ не самый удачный язык в принципе. Не самый и плохой, но уж учиться программировать с него это как-то слишком.
#  Re: Освоение программирования
Peter (syscall,1) → Anotheroneuser  –  15:19:38 2018-05-14

Сугубо для оживления беседы. :) У меня был примерно такой путь:

1) БК0010-01 играл в игры
2) Написал программу для решения квадратных уравнений на Фокале (и тут настал катарсис!)
3) Начал писать игры на Фокале (без знаний вообще)
4) Начал писать игры на Бейсике (без знаний вообще)
5) Начал дизассемблировать код и не понимая что он делает вставлять в свой код игр на Бейсеке :) Обычно для звука и графики
6) В школе появилась информатика но там были блок-схемы. Ничему не научился =)
7) Появилась машина на процессоре 8086 (без винчестера, конечно). Начал писать на gwbasic
8) Начал читать литературу по ассемблеру и писать код прямо в debug.com и отлаживать/менять чужие игры. Уровни к sopwith, музыка в арканоиде итд.
9) Кто то дал C компилятор. Начал пытаться писать на C
10) В итоге, стал более менее писать на ассемблере и С. Конечно, гл образом игры =)
11) В институте уже только C и ASM + Паскаль как предмет
12) Усторился на работу где надо было дизассемблировать ядро Windows NT
13) Устроился на работу где надо было дизассемблировать ядро Windows NT + писать драйверы на c++

>> Читать далее
#  Re: Освоение программирования
vit01 (mira, 1) → Anotheroneuser  –  15:10:44 2018-05-14

>> Переходи сразу к lua
Anotheroneuser> Привлекательная мысль, благодарю. И очень сэкономит время.

То, что для "настоящего" обучения программированию советуют C++, на самом деле не лишено смысла. Это должно научить некоторым базовым вещам, да и строгая типизация дисциплинирует.

Но всё-таки соглашусь с остальными товарищами и посоветую начать с Lua.

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

// python тоже очень крут в плане низкого порога вхождения и неплохо оптимизирует рутину

P.S. Когда начнёшь изучать Lua, попробуй установить Awesome WM. Будешь изучать язык и одновременно тюнинговать свой рабочий стол =)
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Andrew Lobanov  –  13:50:58 2018-05-14

Надо подумать... Благодарю за советы
Кстати, сам Иерусалимски, в ответ на претензии одного из читателей его книги в последней редакции, ответил следующее: «The book is not addressed to newbie programmers, and its description clearly says that: "Programming in Lua is targeted at people with some programming background". It also says that "[it] does not assume any prior knowledge about Lua", and I stand by it, as long as the reader has some programming experience.»
Это есть на Amazon.

Я не просто «newbie» а «damn newbie man-who-seek-the-way-to-become-a-programmer» )))
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → btimofeev  –  13:42:49 2018-05-14

> Не знаю почему тебе советовали начинать с С++
Программу обучения составляю спешно, ориентируясь на мнение таких людей, как ты, Андрей, Пётр — специалистов.
Начинать с С++ рекомендует В.Моженков в своём видеожурнале https://www.youtube.com/playlist?list=PLY7PmJJFH5nS_QOUktkW_eJikn41A819x
Он говорит, что начинать изучение программирования с какого-нибудь вспомогательного (возможно, я не точно воспроизвожу его слова) языка приведёт к тому, что впоследствии придётся осваивать основной язык как бы заново. Может быть, меня попросту переклинило в анализе этой теории применительно к изучению Lua по отношению к C++... А, может, Моженков говорил это не для всех, а лишь для тех, кто планирует капитально связать свою жизнь с программированием и заниматься им профессионально? У меня-то нет такой цели.

> Переходи сразу к lua
Привлекательная мысль, благодарю. И очень сэкономит время.
#  Re: Освоение программирования
btimofeev (tavern,13) → Anotheroneuser  –  12:51:46 2018-05-14

Anotheroneuser> С++
Anotheroneuser> Б. Страуструп - Принципы и практика с использованием C++
Anotheroneuser> Меня берут глубочайшие сомнения, что мозг не закипит уже после пятнадцатой минуты обучения.

Не знаю почему тебе советовали начинать с С++, но если ты никогда раньше не программировал, то, имхо, лучше с него не начинать (а уж тем более с книги Страуструпа). Переходи сразу к lua, как посоветовал Андрей. Или можно начать с Python'а или Go, например. C++ выучишь когда-нибудь потом.
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  12:16:55 2018-05-14

>>  Посоветуешь что-нибудь толковое по алгоритмизации. Я искал, но попадалось либо очень сложное, либо малоизвестное. А ты, наверняка, знаешь что-нибудь толковое.
Anotheroneuser> После «алгоритмизации» знак вопроса, конечно же))) Прошу прощения — спешил и спотыкался )

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

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

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

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

Лично я бы начал как раз с чего попроще. То есть с lua, так как он проще C++ и является целью. В books.tech (спрашивайте у оператора вашего уза =) лежит Иерусалимски на русском языке. Очень хороший учебник.

// Книжку могу скинуть более дургим способом, но для этого лучше написать мне на почту spline at rooker dot ru.
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Anotheroneuser  –  11:42:44 2018-05-14

> Посоветуешь что-нибудь толковое по алгоритмизации. Я искал, но попадалось либо очень сложное, либо малоизвестное. А ты, наверняка, знаешь что-нибудь толковое.
После «алгоритмизации» знак вопроса, конечно же))) Прошу прощения — спешил и спотыкался )
#  Re: Освоение программирования
Anotheroneuser (syscall,27) → Andrew Lobanov  –  11:38:50 2018-05-14

Не знаю, как тут ответить и тебе и Петру сразу, так что отвечаю так.

> А где посмотреть то?

Вот сама учебная программа:
====
---------------
Начало освоения
---------------

С++
Б. Страуструп - Принципы и практика с использованием C++
К этому меня привели рассуждения Владимира Моженкова <https://www.youtube.com/user/VladimirMozhenkov/about>;
Он рекомендовал начинать изучение программирования с C++.
Меня берут глубочайшие сомнения, что мозг не закипит уже после пятнадцатой минуты обучения.

>> Читать далее
#  Re: Освоение программирования
Andrew Lobanov (tavern,1) → Anotheroneuser  –  09:03:45 2018-05-14

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

А где посмотреть то?

Вообще, я самоучка и вообще не настоящий сварщик, но учить именно языки это уже завершающий этап обучения азам программирования. Важнее учиться алгоритмизации, а потом уже учить те или иные языки. Разве что не стоит учить алгоритмизацию с паскалем - очень уж потом трудно на более общепринятый синтаксис переучиваться. Полное отторжение будет =)
#  Re: Освоение программирования
Peter (syscall,1) → Anotheroneuser  –  07:05:25 2018-05-14

> Но, конечно, сомневаюсь в том, правильна ли последовательность и т.д.

Я самоучка. Так что вообще боюсь что то советовать. Я просто делал то, что было интересно и все. Кмк основная движущая сила -- любопытство.
#  Освоение программирования
Anotheroneuser (syscall,27) → All  –  06:13:17 2018-05-14

Парни, набросал тут себе небольшую программу по освоению языков. Но, конечно, сомневаюсь в том, правильна ли последовательность и т.д. Можно вас попросить — посмотреть, исправить и рекомендовать мне что-нибудь? Там не очень много.
#  Re: TopicID на dynamic: вытаскиваем тред целиком
Difrex(mobile) (tavern,23) → Difrex(mobile)  –  11:43:30 2018-01-08

Так, я начинаю индексирование всего. Теперь у почти каждого сообщения должен появиться topicid.
Те сообщения, для которых по каким-то причинам не найдено старового сообщения, получают тег "misplaced": "yes".
#  Re: TopicID на dynamic: вытаскиваем тред целиком
Difrex(mobile) (tavern,23) → vit01  –  09:08:36 2018-01-05

>> // Народ, а каких бы еще фич хотелось бы вам?
>1. Хотелось бы добавить в FAQ описание, как пользоваться тредами и навигацией туда-сюда-обратно по msgid, сабжам, поинтам
Будет отдельная от фака дока.

>2. Нужен парсинг цитат, комментариев и прочей разметки. И выделение цветом. А то читать просто так крайне неудобно
Есть в TODO.

>3. API для экспорта текущей ленты в формат RSS.
Интересное предложение, посмотрю, что можно придумать

>4. При доступе через клиент, когда скачиваешь сообщение, отсутствует тег ii/ok. Это баг
Я удивлен, что оно вообще работает =)

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


>> Читать далее
#  Re: TopicID на dynamic: вытаскиваем тред целиком
vit01 (mira, 1) → Difrex(mobile)  –  08:53:12 2018-01-05

> // Народ, а каких бы еще фич хотелось бы вам?

1. Хотелось бы добавить в FAQ описание, как пользоваться тредами и навигацией туда-сюда-обратно по msgid, сабжам, поинтам

2. Нужен парсинг цитат, комментариев и прочей разметки. И выделение цветом. А то читать просто так крайне неудобно

3. API для экспорта текущей ленты в формат RSS.

4. При доступе через клиент, когда скачиваешь сообщение, отсутствует тег ii/ok. Это баг
#  TopicID на dynamic: вытаскиваем тред целиком
Difrex(mobile) (tavern,23) → All  –  08:02:22 2018-01-05

Я тут ковыряя тредовый режим для dynamic'а понял, что проще добавить фичу в бэкенд,
чем разгребать свой говнокод на JS.

Так вот суть: в индексе каждому сообщению присваивается topicid в формате UUID(RFC 4122).
Зная topicid мы можем выбрать целиком тред с нужной нам сортировкой.

Чтобы вытащить тред по интересующему сообщению(мы знаем msgid) нам нужно будет сделать 2 запроса:
* Первый - узнаем topicid из сообщения
* Второй - вытягиваем ветку

Здесь и далее запросы в json отправляются методом POST на https://dynamic.lessmore.pw/search2.

Узнаем topicid
====
{


>> Читать далее
#  Re: API поиска на dynamic.lessmore.pw
Difrex(mobile) (tavern,23) → Difrex(mobile)  –  09:24:25 2017-12-12

Фикс для запроса эхи. Правильный запрос будет выглядеть так
====
{
"sort": [
{
"date": {
"order": "desc"
}
},
{
"_score": {
"order": "desc"
}
}
],


>> Читать далее
#  API поиска на dynamic.lessmore.pw
Difrex(mobile) (tavern,23) → All  –  07:22:13 2017-12-12

== Поиск на dynamic.lessmore.pw

Как это ваще устроено??? На самом деле [API](https://dynamic.lessmore.pw/search) -- это открытый всем Elasticsearch, который предоставляет
гору возможностей для поиска за счет движка Lucene. Давайте что-нибудь найдем!

Вот в [этом](ii://XWShDDcuR4C8PcrTFdGl) вот комменте я пообещал рассказать как это все сделать. Приступим.

Давайте для начала попробуем поискать этот самый коммент(XWShDDcuR4C8PcrTFdGl). Здесь и далее мы будем использовать только
*curl*.

====
curl -XPOST -d '{"query": {"query_string" : {"fields" : ["msgid"], "query" :"XWShDDcuR4C8PcrTFdGl"}}}' https://dynamic.lessmore.pw/search
====


Нам вернется такой вот ответ

>> Читать далее
#  Re: Очарован GO
Andrew Lobanov (Go!,1) → Peter  –  04:38:16 2017-12-11

Peter> P.S. Кто еще заценил эту штуку? :)

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

Да. Маскот крайне классный ещё. Согласен.
#  Re: Очарован GO
Difrex(mobile) (tavern,23) → Peter  –  17:32:58 2017-12-10

Я пишу на Go. Он классный :)
#  Очарован GO
Peter (syscall,1) → All  –  19:14:32 2017-12-09

Начал изучать go. И должен сказать, я очарован:

1) простотой синтаксиса (такой же простой, как в C);
2) простотой кросс-компиляции для разных платформ (без мороки с кросс средами);
3) дает плюшки скриптовых языков и вместе с тем это КОМПИЛЯТОР!
4) классный талисман =)

Сейчас мне кажется, что это может стать моим рабочим инструментом, помимо C и Lua.

Буду изучать дальше!

P.S. Кто еще заценил эту штуку? :)
#  Фреймворки жабаскрипта
Difrex(mobile) (tavern,23) → All  –  12:40:09 2017-12-05

А какие сейчас актуальные есть?
Чтобы просто было, без компилятора, бовера бандлеа и прочих штук.

Пока склоняюсь к vue.js, но прислушаюсь к советам.
#  Re: Нужна помощь по программированию под емакс
Difrex (mira, 14) → Andrew Lobanov  –  08:32:01 2017-10-04

Как-то так:

====
(setq new-messages-list (make-hash-table :test 'equal))
(dolist (m my-list)
...
(puthash msg message-content new-messages-list)
)

(maphash (lambda (id msg)
(message (concat "Get " id "\n" msg))
new-messages-list)
====

Тут инициализируется хэш

>> Читать далее
#  Re: Нужна помощь по программированию под емакс
Andrew Lobanov (Go!,1) → Difrex(mobile)  –  05:13:02 2017-10-04

Difrex(mobile)> Переделал на хэшики - все работает =)

Можешь накидать примерчик? Интересно а то.
#  Re: Нужна помощь по программированию под емакс
Andrew Lobanov (Go!,1) → Difrex(mobile)  –  05:13:02 2017-10-04

Difrex(mobile)> А ты не мог бы подсказать как мне сделать такую штуку, как список из ассоциативных массивов.
Difrex(mobile)> Делаю сейчас так:
Difrex(mobile)> ====
Difrex(mobile)> (setq new-messages-list (-concat 'new-messages-list '((content . message-content) (id . msg))))
Difrex(mobile)> ====
Difrex(mobile)> Потом пытаюсь пройтись по этому списку:
Difrex(mobile)> ====
Difrex(mobile)> (dolist (msg new-messages-list)
Difrex(mobile)> (message (assoc 'id msg)))
Difrex(mobile)> ====
Difrex(mobile)> Но не работает. Ругается так: Wrong type argument: listp

Вот я не помню как в emacs lisp работают property lists. Я делал простой список списков со структурой ((msgid body) (msgid body)) и обкодил список, обращаясь к элементам посредством (first...) и (second...). Решение кривое, но рабочее и с учётом статичности структуры данных, в целом, приемлемое.
#  Re: Нужна помощь по программированию под емакс
Difrex(mobile) (tavern,23) → Difrex(mobile)  –  21:41:24 2017-10-03

Переделал на хэшики - все работает =)
#  Re: Нужна помощь по программированию под емакс
Difrex(mobile) (tavern,23) → Andrew Lobanov  –  20:37:37 2017-10-03

А ты не мог бы подсказать как мне сделать такую штуку, как список из ассоциативных массивов.

Делаю сейчас так:

====
(setq new-messages-list (-concat 'new-messages-list '((content . message-content) (id . msg))))
====

Потом пытаюсь пройтись по этому списку:
====
(dolist (msg new-messages-list)
(message (assoc 'id msg)))
====

Но не работает. Ругается так: Wrong type argument: listp
#  Re: Нужна помощь по программированию под емакс
Andrew Lobanov (,1) → Difrex  –  15:03:47 2017-09-28

Difrex> В общем начал я пилить клиента под емакс. Пока удалось сделать только получение списка эх. Но думаю потом дело пойдет быстрее.
Difrex> Если кто готов присоедениться - велком https://gitea.difrex.ru/Difrex/idec.el

О! Крутота. Я неоднократно начинал, но забрасывал. А я go осваиваю потихоньку =)
#  Re: Нужна помощь по программированию под емакс
Difrex (mira, 14) → Difrex  –  14:16:07 2017-09-28

В общем начал я пилить клиента под емакс. Пока удалось сделать только получение списка эх. Но думаю потом дело пойдет быстрее.

Если кто готов присоедениться - велком https://gitea.difrex.ru/Difrex/idec.el
#  Re: Нужна помощь по программированию под емакс
Difrex (mira, 14) → Andrew Lobanov  –  11:00:17 2017-09-28

>Если имеется в виду интерактивный вызов, то надо использовать специальную форму (interactive &optional ARG-DESCRIPTOR). Подробнее можно прочитать во встроенной справке "C-h f interactive RET".
Спасибо! То, что нужно.

>;;; Йу-ху! С каждым днём имаксеров становится всё больше =)
Да я уже года полтора, как емаксом пользуюсь, просто не писал под него =)
#  Re: Нужна помощь по программированию под емакс
Andrew Lobanov (,1) → Difrex  –  10:06:02 2017-09-28

Difrex> Привет.
Difrex> Вот я пишу программку, хочу опакетить ее. Делаю в конце
Difrex> (provide 'my-prog)
Difrex> В емаксе добавляю каталог в load-path, делаю require. Вопрос: как достучатьс до функций из пакета?

Не очень понял что значит "достучаться". Если вызывать их из других программ, то они сразу доступны по имени. Если имеется в виду интерактивный вызов, то надо использовать специальную форму (interactive &optional ARG-DESCRIPTOR). Подробнее можно прочитать во встроенной справке "C-h f interactive RET".

;;; Йу-ху! С каждым днём имаксеров становится всё больше =)
#  Нужна помощь по программированию под емакс
Difrex (mira, 14) → All  –  09:08:57 2017-09-28

Привет.

Вот я пишу программку, хочу опакетить ее. Делаю в конце

(provide 'my-prog)

В емаксе добавляю каталог в load-path, делаю require. Вопрос: как достучатьс до функций из пакета?
#  Re: Вопрос по golang
Andrew Lobanov (tavern,1) → Difrex  –  07:59:07 2017-09-17

Difrex> Чтобы считать из файла структура и поля у нее должны быть экспортированы https://blog.golang.org/gobs-of-data

Да. Дело оказалось именно в этом. Спасибо за помощь.
#  Re: Вопрос по golang
Difrex (mira, 14) → Andrew Lobanov  –  20:25:58 2017-09-16

Вот так вот работает все
====
package main

import (
"encoding/gob"
"fmt"
"os"
)

type Count struct {
Echo string
Count int
}


>> Читать далее
#  Re: Вопрос по golang
Difrex (mira, 14) → Difrex  –  20:27:33 2017-09-16

Чтобы считать из файла структура и поля у нее должны быть экспортированы https://blog.golang.org/gobs-of-data
#  Re: Вопрос по golang
Difrex(mobile) (tavern,23) → Andrew Lobanov  –  17:10:37 2017-09-16

Тут пешочком не прогуляться. Мне от дома до дома родителей час на машине ехать. Вот еду обратно в метро. Метро быстро!
#  Re: Вопрос по golang
Andrew Lobanov (tavern,1) → Difrex(mobile)  –  14:12:36 2017-09-16

Difrex(mobile)> А какая версия го?

1.9

Difrex(mobile)> Вечером попробую у себя воспроизвести.

Буду признателен.

Difrex(mobile)> ЗЫ: приехал в Москву. Отвык я уже от метро.

А я ни разу на метро не ездил. В Екатеринбурге, когда ездил на курсы по MS SQL Server, на нём можно было доехать от вокзала до гостинницы и обратно, но я предпочёл лишний ачсок пешком прогуляться.
#  Re: Вопрос по golang
Difrex(mobile) (tavern,23) → Andrew Lobanov  –  11:50:17 2017-09-16

А какая версия го?

Вечером попробую у себя воспроизвести.

ЗЫ: приехал в Москву. Отвык я уже от метро 😀
#  Re: Вопрос по golang
Andrew Lobanov (tavern,1) → Difrex  –  11:33:01 2017-09-16

Difrex> Ну и ошибку лучше обрабатывать все же.

Это тестовый пример. В ошибку попадает EOF, так что заведомо всё нормально. Вот поему слайс пустой я не пойму.
#  Re: Вопрос по golang
Andrew Lobanov (tavern,1) → Difrex  –  11:33:00 2017-09-16

Difrex> Тут ссылку нужно передать
Difrex> _ = encoder.Decode(&d)

Да. Я там нагуглил потом. Но один фиг пустой слайс на выходе.
#  Re: Вопрос по golang
Andrew Lobanov (tavern,1) → Difrex  –  11:33:00 2017-09-16

Difrex> Потом маршаль его и пиши в файл json. После считывания анмаршал делай.

json у меня как крайний вариант.
#  Re: Вопрос по golang
Difrex (mira, 14) → Difrex  –  14:55:49 2017-09-15

Ну и ошибку лучше обрабатывать все же.
#  Re: Вопрос по golang
Difrex (mira, 14) → Andrew Lobanov  –  13:04:45 2017-09-15

Тут ссылку нужно передать
_ = encoder.Decode(&d)
#  Re: Вопрос по golang
Difrex (mira, 14) → Andrew Lobanov  –  12:53:50 2017-09-15

Сделай так
====
type count struct {
echo string `json:"echo"`
count int `json:"count"`
}
====

Потом маршаль его и пиши в файл json. После считывания анмаршал делай.

====
var c []count
err := json.Unmarshal(data, &c)
====
#  Re: Вопрос по golang
Difrex (mira, 14) → Difrex  –  13:05:49 2017-09-15

Не прочитал код сначала =)

Игнорируй пост про жсон
#  Вопрос по golang
Andrew Lobanov (tavern,1) → All  –  08:49:01 2017-09-15

Есть затея сохранять слайс из структур в файл:

====
package main

import (
"encoding/gob"
"os"
"fmt"
)

type count struct {
echo string
count int
}


>> Читать далее
#  [DIY] Как банка тушёнки улучшит жизнь в Vim & Emacs
vit01 (mira, 1) → All  –  08:21:54 2017-07-16

Прочитав статью на Хабре про педалирование Vim ( https://habrahabr.ru/post/232177 ), я загорелся идеей сделать себе самодельную педальку для текстовых редакторов.
Как из того анекдота про педаль для Emacs, чтобы Ctrl зажимать, только уже не как анекдот, а на самом деле.

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

Внимание, даже если у вас нет Arduino, то всё равно дочитайте статью, там будет кое-что интересное про Linux!

Итак, если у нас будет педаль, то надо же куда-то ногой нажимать, верно? Съев на даче тушёнку, я не поспешил выбрасывать банку из-под неё, а вымыл и унёс домой.

Фотка 1: https://alicorn.tk/dashie/index.php/s/cIjtxJbHZJnNFbz

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

Фотка 2: https://alicorn.tk/dashie/index.php/s/LRPbdF5O9DBL535


>> Читать далее
#  Stringlate - перевод Android-приложений в два клика
vit01 (mira, 1) → All  –  18:00:30 2017-07-10

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

https://github.com/LonamiWebs/Stringlate
https://f-droid.org/packages/io.github.lonamiwebs.stringlate/

Использовать его очень просто: вводите адрес Git-репозитория (есть интеграция с Github), дальше приложение само скачает и распарсит нужные ресурсы.

Потом можно спокойно править переводы через удобный GUI. После окончания работы можно экспортировать результат в файл, поделиться им по Email или сразу открыть Pull Request/Issue в репозитории. Рекомендую и одобряю.
#  Re: IDEC Mobile: кодинг в прямом эфире
vit01 (mira, 1) → Difrex  –  16:08:37 2017-06-30

Кстати, как ни странно, пробросить порт дебага через ssh на удалёнку и набрать adb connect localhost субъективно кажется менее напряжным, чем возиться с проводами и подключением по локалке =)

Так что нафиг эмуляторы, буду продолжать работать с реальными устройствами. Но 4 гигабайта ОЗУ оказались не лишними. Теперь хотя бы браузер рядом с IDE не страшно включённым держать. И второй, запасной комп дома разгруженный сидит, так что разработка теперь без всяких напрягов и ненужных ожиданий происходит.

P.S. Кодинг-эксгибиционизм-шоу до сих пор идёт. Кому хочется (и тому, кто может в андроид), могу даже RW-пароль скинуть
#  Re: IDEC Mobile: кодинг в прямом эфире
Difrex (mira, 14) → vit01  –  15:01:56 2017-06-29

О, круто! =)
#  IDEC Mobile: кодинг в прямом эфире
vit01 (mira, 1) → All  –  06:09:57 2017-06-29

Надоели скучные сериалы и реалити-шоу? Хочется посмотреть на эпик-мега-экшен?

Смотреть немое кино бесплатно без смс и регистрации:

====
$ vncviewer -Shared -ViewOnly debug.ii-net.tk:5901
====


Юзер debug
Пароль 303045

Встречайте актёров:

1. Андроид студия - главная героиня шоу. Обаятельная, привлекательная, но иногда очень капризная и упёртая свол^W IDE.
2. Виртуальный Android 4.4 - надёжный и неприхотливый эмулятор, который через годика два выйдет на пенсию. Обладает загадочным характером, будет периодически появляться и исчезать

>> Читать далее
#  Re: Требуется сервер
vit01 (mira, 1) → Difrex  –  17:48:58 2017-06-28

Difrex> MSK-highmem-KVM-SAS-2 439р

Ой, я невнимательно просмотрел каталог :)

Спасибо за рекомендацию, заказал именно этот вариант, уже получил рута и пробую настраивать.
#  Re: Требуется сервер
Difrex (mira, 14) → vit01  –  15:07:40 2017-06-28

>У них самый выгодный тариф - это за 399р. дают 2 гига ОЗУ и 40 гигов места.
MSK-highmem-KVM-SAS-2 439р
* 2CPU
* 4Gb RAM
* 60Gb HDD

По-моему норм цена.
#  Re: Машина снов на Arduino своими руками
vit01 (mira, 1) → btimofeev  –  14:09:30 2017-06-28

btimofeev> А эффект от этого реально какой-то есть?

Если сидеть с открытыми глазами, то это как на дискотеке, только немного под трансом. Так или иначе, это интересно, рекомендую.

С закрытыми - уже трип какой-то напоминает. Через некоторое время сидения с закрытыми глазами появляются разные глюки, воображение усиливается. Можно вполне "выпасть" из реальности, наблюдая причудливые хренотени у себя в голове. Оказывается, сабж используют даже для психотерапии.
То есть мигалка нужна, если тебе слишком скучно, а фантазия плохо развита. Устройство как бы "подстёгивает" мозг на что-нибудь эдакое.

Наверное, некоторые слышали про сенсорную депривацию. Суть в чём: человека запирают в тёмной, звукоизолирующей комнате. Он там голышом залезает в специальную ванну, с водой при температуре тела. Все эти условия вызывают так называемый "информационный вакуум", благодаря которому мозг начинает придумывать всякую фигню (в виде глюков), чтобы остаться на плаву.

Здесь немного похожий принцип работы, только "подгон" для глюков поступает извне, ускоряя эффект и позволяя ему проявляться в более естесственных условиях.
#  Re: Машина снов на Arduino своими руками
btimofeev (tavern,13) → vit01  –  18:42:48 2017-06-27

vit01>> Андрей попросил видео сабжа в действии. Вот оно:
vit01>> https://alicorn.tk/dashie/index.php/s/4PZLyfKTDDVSH5U

AL> Не взирая на то, что камера не сняла (ну почти не сняла) то, что было на стенах, мне видео понравилось =)

Мне тоже понравилось, красиво мигает. А эффект от этого реально какой-то есть?
#  Re: Машина снов на Arduino своими руками
Andrew Lobanov (tavern,1) → vit01  –  18:12:48 2017-06-27

vit01> Андрей попросил видео сабжа в действии. Вот оно:
vit01> https://alicorn.tk/dashie/index.php/s/4PZLyfKTDDVSH5U
vit01> Ничего интересного здесь нет (тем более, плохонькая камера мобильника не может запечатлеть эту игру света), но просто как факт.

Не взирая на то, что камера не сняла (ну почти не сняла) то, что было на стенах, мне видео понравилось =)
#  Re: Требуется сервер
vit01 (mira, 1) → Difrex  –  17:45:46 2017-06-27

Difrex> firstbyte.ru

У них самый выгодный тариф - это за 399р. дают 2 гига ОЗУ и 40 гигов места.

Вот посмотрел сейчас на поисквпс, здесь советует несколько вариантов:

https://poiskvps.ru/index.php?search_hdd_min=25&search_hdd_max=60&search_ram_min=3072&search_ram_max=4096&search_price_max=500

Самый выгодный, на мой взгляд, последний, где 4 гига предлагают за 420 рублей. Но и остальные с 3 гигами не отстают.

Подожду ещё предложений от сетян.
#  Re: Требуется сервер
Difrex (mira, 14) → vit01  –  17:01:22 2017-06-27

firstbyte.ru

У них хостюсь уже больше года -- полет отличный.
#  Требуется сервер
vit01 (mira, 1) → All  –  16:03:52 2017-06-27

Товарищи, нужна ваша консультация.

По случаю успешного окончания школы (золотая медаль как-никак) мне подогнали денег, и у меня есть план на лето.

Хочу заказать хороший, годный VPS на 2 месяца, чтобы установить туда эмулятор Андроида и IDE. На сервере, конечно же, будут иксы и доступ через VNC + RDP.
View-only доступ к рабочему столу думаю предоставить всем, а пароль "для дела" дать некоторым из вас, кому захочется. В первую очередь Борису, потому что он IDEC Mobile иногда помогает пилить.

Таким шагом будет ускорена разработка клиента и другого софта для IDEC, потому что сервак будет доступен 24/7, и мне не надо будет тратить время на перезагрузки, ожидания запуска IDE и "въезд" в сборочное окружение.
Можно будет писать код и компилить на даче, в транспорте и так далее. Не отрываться от кодинга.

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

Требования к серверу

1. ОЗУ - 3-4 гига. Желательно 4

>> Читать далее
#  Re: Машина снов на Arduino своими руками
vit01 (mira, 1) → vit01  –  15:51:48 2017-06-26

Андрей попросил видео сабжа в действии. Вот оно:

https://alicorn.tk/dashie/index.php/s/4PZLyfKTDDVSH5U

Ничего интересного здесь нет (тем более, плохонькая камера мобильника не может запечатлеть эту игру света), но просто как факт.
#  Re: Машина снов на Arduino своими руками
vit01 (mira, 1) → vit01  –  17:47:05 2017-06-25

Усовершенствовал девайс, добавив туда второй светодиод и поменяв мою любимую для дебага Arduino UNO на портативную Arduino Pro Mini.

https://ii-net.tk/ii/ii-point.php?q=/x/file/dream-arduino-2.jpg

Вместо пауэрбэнка теперь три мизинчиковые батарейки, и трип-машину можно засунуть в карман. Цепь включается нажатием на контакты с питанием на плате (оказывается, кривая пайка может быть не только минусом, но и полезной фичей!).

Зачем мне понадобился второй светодиод?

1. При использовании единственного RGB-LED проявлялся не очень хороший эффект: полупроводники светодиода, часто моргая, перегревались, а перегрев являлся причиной случайных затуханий во время работы. Я бы мог разгрузить плату, добавив резистор, но не хотелось терять в яркости. Добавление второй лампочки означало то, что первая будет меньше мигать и меньше нагреваться (поставил так, чтобы они работали по очереди) -> "сеанс" теперь проходит плавно, без затуханий.

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

3. Пара разных источников света, как я выяснил на практике, гораздо сильнее "расшатывает" мозг, чем один. Действительно наркота какая-то

Упарываемся по-технарски %), хехехе

>> Читать далее
#  Машина снов на Arduino своими руками
vit01 (mira, 1) → All  –  12:27:52 2017-06-22

Прочитал в интернете недавно про такую штуку как машина сновидений. Грубо говоря, это картонный вращающийся цилиндр вокруг источника света, с прорезями, создающий мерцание частотой 8-13 Гц. Оптический эффект от этого мерцания вызывает резонанс в мозгу, в результате чего от просмотра бликов у человека едет крыша, возникают интересные "галюны".

Подробнее читаем здесь: https://ru.wikipedia.org/wiki/Машина_сновидений

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

Осторожно, девайс может вызвать приступ эпилепсии! Если станет плохо, ответственности не несу!

Итак, чтобы изготовить трип-девайс из подручных средств, нам понадобятся:

1. Arduino или Raspberry Pi (или любую другую плату для самоделкиных). В данном случае ардуино
2. Три разноцветных светодиода или один RGB-LED. У меня в DIY-комплекте, заказанном из Китая, как раз оказался RGB-светодиод, поэтому я решил воспользоваться именно им
3. Устройство для преломления, чтобы создавать на стенах красивые цветовые картинки и усилить "наркоманский" эффект. Я использовал в качестве преломлятеля хрустальный стакан с резным узором.
4. Кнопка для переключения частот (8-13 Гц), дабы настраивать сеанс "под свой вкус". У меня хорошей кнопки не оказалось, поэтому я взял вместо неё датчик обхода препятствий. На него не надо нажимать пальцем, а достаточно лишь провести рукой на близком расстоянии.
5. [Опционально] источник питания для контроллера, ради портативности.

>> Читать далее
#  Re: Книги!
vit01 (mira, 1) → Difrex  –  14:50:43 2017-05-23

Интересно, интересно.
Целый набор "современного" девелопера. Куча джаваскрипта, новомодные angular и react, микросервисы (какой ужас, столько страшилок про них!), а также незаменимый Докер. Зачем туда закинули agile и tdd, вообще без понятия.

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

Из подборок книг больше всего нравится так распиаренный Free Programming Books. Там прямо всё по полочкам разложено в одном файле.

https://github.com/vhf/free-programming-books/blob/master/free-programming-books-ru.md
#  Книги!
Difrex (mira, 14) → All  –  14:24:43 2017-05-23

Зацените, что нашел https://github.com/miguellgt/books
#  Re: Web и длинные ссылки
Andrew Lobanov (tavern,1) → All  –  09:15:38 2017-05-07

> Есть div, у него задана ширина в процентах от вьюпорта, внутри длинная-длинная ссылка. Ссылка переносится, но только один раз, а потом растягивает этот div за пределы экрана. Как это можно забороть? Есть опыт?

Таки разобрался.

====
word-break: break-all;
====


И всё отображается как мне надо.
#  Web и длинные ссылки
Andrew Lobanov (tavern,1) → All  –  08:56:21 2017-05-07

Есть div, у него задана ширина в процентах от вьюпорта, внутри длинная-длинная ссылка. Ссылка переносится, но только один раз, а потом растягивает этот div за пределы экрана. Как это можно забороть? Есть опыт?
#  Re: Git
Andrew Lobanov (Go!,0) → vit01  –  10:26:36 2017-03-13

AL>> А ещё бы полноценный git-клиент под андроид. А то в маршрутке приходится книги читать, а мог бы тратить это время на написание игрушки на инстеде. Писать есть чем вполне сносно, а вот потом пушить изменения нечем.
vit01> Порекомендую клиент MGit или его предшественника (по форку) SGit. И коммитить, и пушить, и всё остальное необходимое умеет.
vit01> https://f-droid.org/repository/browse/?fdfilter=MGit&fdid=com.manichord.mgit

Спасибо. Попробую.

vit01> Кстати, а чем тебя Termux'овский гит не устроил? Это ведь тоже вполне рабочий вариант (даже более идеологически правильный). Пробовал и остался доволен.

Как-то не очень удобно получается с ним работать без hacker's keyboard, а от последней я отказался.
#  Re: Git
vit01 (mira, 1) → Andrew Lobanov  –  07:49:33 2017-03-13

AL> А ещё бы полноценный git-клиент под андроид. А то в маршрутке приходится книги читать, а мог бы тратить это время на написание игрушки на инстеде. Писать есть чем вполне сносно, а вот потом пушить изменения нечем.

Порекомендую клиент MGit или его предшественника (по форку) SGit. И коммитить, и пушить, и всё остальное необходимое умеет.
https://f-droid.org/repository/browse/?fdfilter=MGit&fdid=com.manichord.mgit

Кстати, а чем тебя Termux'овский гит не устроил? Это ведь тоже вполне рабочий вариант (даже более идеологически правильный). Пробовал и остался доволен.
#  Re: Emacs
Andrew Lobanov (Go!,0) → btimofeev  –  04:32:07 2017-03-13

btimofeev>>> Для андроид обнаружил программку Orgzly
btimofeev> Там есть еще Dropbox, но только в версии из Google Play (или если сам из исходников соберешь). Я, кстати, ей побольше попользовался и оказалось, что она поддерживает сильно ограниченный набор возможностей org-mode. И непонятно собирается ли автор этот набор расширять.

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

vit01>> Другое дело, что следовать расписаниям и всяким спискам в целом - это неудобно и часто бессмысленно, потому что планы постоянно перекраиваются, а хотелки меняются.
btimofeev> А для меня нормально работает: память у меня не очень хорошая, так что постоянно приходится записывать todo'шки.

У меня фиг спланируешь что. Так что простые тудушки покрывают рабочий процесс.
#  Re: Emacs
btimofeev (tavern,13) → vit01  –  17:17:07 2017-03-12

vit01> На Хабре недавно промелькнула статья про технику помидора и Emacs.
vit01> https://habrahabr.ru/post/323576/

Я вчера этот плагин ставил. Думаю пользоваться можно, если отключить ежесекундное тиканье таймера.
#  Re: Emacs
btimofeev (tavern,13) → vit01  –  17:10:10 2017-03-12

btimofeev>> Для андроид обнаружил программку Orgzly

vit01> Установил, посмотрел. Интересная штука, минималистично выглядит. Правда, из опций синхронизации там только директория. Обещают ещё добавить протоколов, но это ждать.

Там есть еще Dropbox, но только в версии из Google Play (или если сам из исходников соберешь). Я, кстати, ей побольше попользовался и оказалось, что она поддерживает сильно ограниченный набор возможностей org-mode. И непонятно собирается ли автор этот набор расширять.

vit01> Другое дело, что следовать расписаниям и всяким спискам в целом - это неудобно и часто бессмысленно, потому что планы постоянно перекраиваются, а хотелки меняются.

А для меня нормально работает: память у меня не очень хорошая, так что постоянно приходится записывать todo'шки.
#  Re: Emacs
vit01 (mira, 1) → vit01  –  09:32:01 2017-03-12

На Хабре недавно промелькнула статья про технику помидора и Emacs.
https://habrahabr.ru/post/323576/

Ссылка на гитхаб со скриптом: https://github.com/TatriX/pomidor

Симпатичная штука для столь избитой методики повышения производительности :)
#  Re: Emacs
vit01 (mira, 1) → btimofeev  –  08:59:50 2017-03-12

btimofeev> Для андроид обнаружил программку Orgzly

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

У самого для тудушек стоит приложение OpenTasks (уже упоминал его в ii://linux.14). Его плюс в том, что с OwnCloud/NextCloud обменивается и интерфейс с точки зрения кнопкотыкания удобен.

Другое дело, что следовать расписаниям и всяким спискам в целом - это неудобно и часто бессмысленно, потому что планы постоянно перекраиваются, а хотелки меняются. В итоге в конце дня смотришь и понимаешь, что события в реальности произошли совсем в другое время (не так, как предполагалось изначально). Или не произошли (отложились на завтра). Поэтому поигрался с календарями и TODO-шниками, да забросил.
Но это ИМХО.
#  Re: Emacs
btimofeev (tavern,13) → All  –  08:37:55 2017-03-11

btimofeev> Ещё org-mode в нем довольно крутой. Надо как-то познакомиться с ним поближе.

Вот и настало это время: я тоже начал осваивать emacs. Преимущественно из-за org-mode. Пока что перетащил туда почти все свои заметки и todo из разных программ и сервисов. Для андроид обнаружил программку Orgzly, простенькая, довольно удобная и недавно заопенсорсилась https://github.com/orgzly/orgzly-android
#  Сигнализация для меломана на Arduino
vit01 (mira, 1) → All  –  13:56:28 2017-02-18

Когда у меня появилась ардуинка, я хотел приспособить её для какого-нибудь действительно полезного дела. В домашних условиях такая задача всё-таки нашлась :)

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

Цель: сделать установку на ардуине, которая будет ставить плеер на паузу, когда подходят к твоему "рабочему месту".

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

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

====
#define pirPin 2 // наш датчик


>> Читать далее
#  Re: Реализация IDEC протокола на Гошечке
Difrex (mira, 14) → vit01  –  07:29:39 2017-02-10

Я просто решил переписать свой убогий и тормозной фетчер с перла. А реализацию протокола тут по-любому делать надо =)

Кстати, немного статисти из эластика:

Документы
====
"docs" : {
"count" : 79614,
"deleted" : 0
},
"store" : {
"size_in_bytes" : 147104264,
"throttle_time_in_millis" : 0
},
====

>> Читать далее
#  Re: Реализация IDEC протокола на Гошечке
vit01 (mira, 1) → Difrex  –  06:44:44 2017-02-10

Сомневаюсь, что сабж есть перспективно, но зато хоть как-то современно :)
#  Реализация IDEC протокола на Гошечке
Difrex (mira, 14) → All  –  20:32:59 2017-02-09

Сегодня реализовал какую-то часть: https://gitea.difrex.ru/Umbrella/fetcher/src/master/idec

Скоро будет API ноды добавлено =)

ЗЫ: Всем привет, я в секте все еще, просто в ридонли Ж(
#  Развлекаюсь с Arduino
vit01 (mira, 1) → All  –  16:29:00 2017-02-02

Прикупил себе китайскую Arduino Uno на али за 190 рублей.
Драйвера подошли стандартные из IDE, правда, приходится перед началом работы делать chmod 777 /dev/ttyUSB0, иначе ничего не прошьётся.
Сама IDE, кстати, не хотела сначала ничего компилировать, ругаясь на отсутствие libtinfo.so.5, но симлинком на libncurses проблема разрешилась.

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

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

Подключил к ардуине, нашёл примеры использования в сети и, о чудо, оно работает!

В общем, попробовал сделать кавер на кусок симфонии Виктора Аргонова (сюда постил уже когда-то). Автор молодец, что полные midi в открытый доступ выкладывает, экспериментировать удобно.

https://ii-net.tk/ii/ii-point.php?q=/x/file/constructing-sensations-arduino.ogg

И исходник на Гитхабе: https://github.com/vit1-irk/constructing-sensations-arduino

>> Читать далее
#  Re: Android coding
btimofeev (tavern,13) → vit01  –  18:10:22 2017-01-26

vit01> Первый раз вижу упоминание Amazon AppStore.

Стор амазона второй по популярности в штатах. Он по умолчанию стоит на Kindle'ах. И народ там самый платежноспособный. Так что если делать приложения с целью заработать, то в первую очередь нужно смотреть на ранок США.

Еще у них есть Amazon Underground. Это стор в котором все приложения бесплатные и внутренние покупки тоже бесплатные, а амазон платит разработчику за время проведенное пользователем в приложении. Но это же приложение должно быть в другом сторе платным.

vit01> Вот F-Droid у всех на слуху. Там, правда, за чистотой исходников следят тщательно, но из-за этого популярности и доверия у него больше.

Я сам им пользуюсь и хотел прогу в него добавить, но там не принимаются приложения в которых есть несвободная аналитика. А Firebase Crash отличная штука, я обнаружил пару десятков разных вылетов благодаря ему, отказываться пока не хочется.
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  10:41:53 2017-01-26

btimofeev> Какие-то эти альтернативные сторы муторные.

Первый раз вижу упоминание Amazon AppStore.
Вот F-Droid у всех на слуху. Там, правда, за чистотой исходников следят тщательно, но из-за этого популярности и доверия у него больше.
#  Re: Android coding
btimofeev (tavern,13) → btimofeev  –  20:12:59 2017-01-25

Выложил приложение в Amazon appstore, а при установке выдает "Приложение не установлено. Похоже пакет поврежден". Причем с двух телефонов такое. Они похоже мою apk-шку сломали, нехорошо это. Попробую перезалить новую версию, но блин опять полдня ждать придётся. Какие-то эти альтернативные сторы муторные.
#  Re: Android coding
btimofeev (tavern,13) → vit01  –  13:26:22 2017-01-25

vit01> Нормально установилось и запустилось. Ну а тестировать мне не на чем.

Спасибо за помощь. Мне просто надо было знать не вылетает ли оно, а то там внутри аналитика и крэш-репорты от Google Firebase. Сейчас просто в Яндекс сторе видел кучу плохих отзывов на приложение BlaBlaCar, люди пишут что без гуглосервисов оно вылетает.
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  12:39:53 2017-01-25

btimofeev> Подскажи, а у тебя телефон без play сервисов?

Да. ОС 7.1.1
Уже давно приспособился жить совсем без гугла.

btimofeev> Если так, то не мог бы ты посмотреть работает ли вот эта версия моего приложения

Нормально установилось и запустилось. Ну а тестировать мне не на чем.
#  Re: Android coding
btimofeev (tavern,13) → vit01  –  09:02:07 2017-01-25

Подскажи, а у тебя телефон без play сервисов? Если так, то не мог бы ты посмотреть работает ли вот эта версия моего приложения https://github.com/btimofeev/UniPatcher/releases/download/0.13/UniPatcher-0.13.apk
#  Re: Заполнение форм PDF или "Russian, s*ka! Do you speak it?!"
vit01 (mira, 1) → Andrew Lobanov  –  05:08:01 2017-01-24

AL> Вот меня как раз может ожидать работа с pdf, но из питона. И там может оказаться тоже весьма весело.

Своего бота я как раз на питоне писал, а тулзу запускал через subprocess.Popen, и никаких проблем.
Если нужна работа в read-only (например, любой парсинг или анализ), то тут граблей быть не должно, библиотек куча рабочих как для питона, так и для других языков.
#  Re: Заполнение форм PDF или "Russian, s*ka! Do you speak it?!"
Andrew Lobanov (tavern,1) → vit01  –  03:08:32 2017-01-24

vit01> Услышав "PDF", я порадовался и подумал, что "для него уж точно кучу всего написали, проще некуда, найду что-нибудь". Но не тут-то было!

Вот меня как раз может ожидать работа с pdf, но из питона. И там может оказаться тоже весьма весело. По крайней мере беглое гугление показало, что граблей с PDF до сих пор много где есть, что на мой взгляд очень странно.

vit01> Где же, наконец, простое и рабочее решение для автозаполнения PDF-форм?

vit01> Вот оно: https://sourceforge.net/projects/pdfformfiller2/?source=directory
vit01> Использует библиотеку iTextPdf 5 версии, написано на Java.

Спасибо за наводку. Вполне допускаю отдавать данные сторонней штуке.
#  Заполнение форм PDF или "Russian, s*ka! Do you speak it?!"
vit01 (mira, 1) → All  –  15:51:09 2017-01-23

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

Услышав "PDF", я порадовался и подумал, что "для него уж точно кучу всего написали, проще некуда, найду что-нибудь". Но не тут-то было!

Поискав на Гитхабе, нашёл оригинальную библиотеку pdf-fill-form, написанную на NodeJS. Потратил достаточно времени на разборки с тем, дабы заставить её работать, но ничего хорошего из этого не вышло. Русские символы никак не отображались. Вместо них - кракозябры, либо пустота.

Посмотрел в сети, и выяснилось, что проблема библиотеки - в зависимости от libpoppler. Баг в poppler'е затрагивает многие другие приложения, например, Evince. И проблему в последнем до сих пор можно увидеть без особых усилий.

https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1288182
Представьте себе, баг по этой ссылке висит с 2008 года, но так и не исправлен!

----------

Идём по Гитхабу дальше. Все остальные репозитории с нужным мне делом представлены обёртками для программного пакета pdftk.


>> Читать далее
#  Re: Уведомления для IDEC Mobile
vit01 (mira, 1) → vit01  –  08:39:51 2016-10-09

Итак, за что проголосует народ? Может быть, есть, что предложить получше?
#  Уведомления для IDEC Mobile
vit01 (mira, 1) → All  –  08:36:31 2016-10-09

Подумал тут насчёт продумывания сабжа и зашёл в тупик.

Есть несколько вариантов:

1. Как в ServerListener. Поступление новых сообщений отслеживается через /x/c. Если они имеются, то выводится уведомление: "Новых сообщений: <число>", но при этом ничего на устройство не скачивается. Когда пользователь жмёт на оповещение, то запускается фетчер.

Плюс подхода - избежание "неожиданных ситуаций". Предположим, в эхе ii://pipe.2032 решил нагадить бот/спамер и закинул туда 50000 сообщений. Пользователь смотрит на оповещение и думает: "Ага, что-то тут нечисто!". Потом идёт проверять станцию, а база на телефоне остаётся в чистоте от мусора.

Либо по-другому: любители разного чтива закинули куда-нибудь в ii://lit.14 сразу 50 огроменных рассказов. У пользователя на мобильном интернете остаётся мало трафика, и он осознанно решает не фетчить сообщения до прихода домой, чтобы сэкономить несколько мегабайт.

Минус подхода - использование /x/c. Не все ноды его поддерживают, а фичу хочется для любых станций сразу.

2. Подход "фонового фетча". Фетчер сам запускается и сам фетчит сообщения, а пользователю только говорит о результатах.

Плюсы - универсальность для всех нод и относительная простота реализации.

>> Читать далее
#  Re: Android клиент
vit01 (mira, 1) → btimofeev  –  06:16:55 2016-10-05

btimofeev> Я исправил тот самый баг с удалением свайпом в черновиках (сделай пулл) и добавил поясняющую иконку на фон при удалении. Можно еще и undo реализовать будет.

Ура! Это очень круто, спасибо! Пересобрал только что и очень доволен.

Undo, наверное, будет лишним.
#  Re: Android клиент
btimofeev (mira, 24) → vit01  –  22:17:52 2016-10-04

Я исправил тот самый баг с удалением свайпом в черновиках (сделай пулл) и добавил поясняющую иконку на фон при удалении. Можно еще и undo реализовать будет.
#  Re: Android клиент
vit01 (mira, 1) → btimofeev  –  14:06:40 2016-10-04

Что-то неполадки были в жаббере, поэтому можно продолжить дискуссию здесь:

В фетчере я вообще ничего не менял, он работает по-старому, поэтому пока вот так:

1. Какие у тебя настройки были для каждой станции?
2. Увеличивал ли ты лимит /u/e, использовал ли автоконфигурацию?
3. Включал галочку "Качать сообщения дальше"? Не очень я это доработал, так что здесь косяк может быть.
#  Re: Android клиент
Difrex (mira, 14) → vit01  –  05:41:08 2016-09-27

vit01> Если будет удача в исправлении багов, с конца следующей недели планирую выкладывать APK для тестирования.
#  Re: Android клиент
btimofeev (tavern,13) → vit01  –  06:13:43 2016-09-17

Я залил в твой репозиторий небольшой багфикс (вчера не досмотрел). Сделай у себя git pull.
#  Вопрос программистам
vit01 (tavern,10) → All  –  07:27:08 2016-09-13

Среди вас кто-нибудь использует на работе или в собственных проектах технологии или наработки на основе нейронных сетей?

Если да, то какие именно? Что интересного можете припомнить в этой практике?
#  Re: С этим надо бы в ru.humor.14, да тольно оно не на русском языке
vit01 (mira, 1) → Andrew Lobanov  –  13:24:36 2016-09-05

Как раз читал недавно новый холивар на Хабре на эту тему.

Мой главный аргумент, почему табы рулят - это то, что когда хочешь нажать Backspace/Delete для удаления пустого места, то надо сделать это всего 1 раз, а не 4.

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

В Android-studio (хоть и не на 100%) возню с пробелами компенсирует функция "code beautifier'а".
#  С этим надо бы в ru.humor.14, да тольно оно не на русском языке
Andrew Lobanov (tavern,1) → All  –  12:49:30 2016-09-05

В очередном треде tabs vs. spaces было обнаружено прекрасное:

butlerpcnet * 5 years ago

YES! Another strong win for us Tab people! Thank you :) another disadvantage of space-indented code is what I call the "asshole" principle. If I were using spaces to indent? I could be an asshole and indent with 1 space per level! Any normal person thah opens the file would have to make sure his/her IDE or text editor is configured correctly to convert the spaces, and convert back (like you said with committing). It's just a mess.

butlerpcnet * 3 months ago

Comming back to reverse my opinion! I'm now a 4-spaces indenter!! Python 3 standard is 4 spaces, and PHP PSR-2 standard is also 4 spaces. Go away tabs!!
#  Re: Android клиент
vit01 (mira, 1) → vit01  –  14:49:56 2016-09-04

Если будет удача в исправлении багов, с конца следующей недели планирую выкладывать APK для тестирования.
#  Re: Android клиент
vit01 (mira, 1) → vit01  –  14:41:11 2016-09-04

Текущий прогресс:

1. Сделал дизайн куска сообщения и впихнул его в EchoView-Activity
2. Написал топорный xml для полного просмотрщика сообщений

В планах:

1. Реализовать фрагмент и заодно отдельную активити для просмотрщика сообщений
2. Впихнуть его внутрь ViewPager, чтобы переключать сообщения свайпом
3. Сделать "бесконечную прокрутку" для уже более-менее рабочего RecyclerView
4. Приукрасить всё, чтобы более-менее прилично выглядело (нескучные иконки)
5. Починить баги с DebugActivity, с поиском в БД и c запросом одного отдельного сообщения

Не наступаю ли на где-нибудь на грабли? Можно ли сделать лучше? Вот особенно для пункта 3 сомнения.


>> Читать далее
#  Re: Android клиент
vit01 (mira, 1) → btimofeev  –  07:34:16 2016-08-31

btimofeev> По поводу версий sdk и библиотек: ты не можешь использовать buildtools выше 23.0.1? Support библиотеки 24 версии тоже не работают? Просто чтобы не получилось что я обновлю версии, а у тебя компилироваться не будет.

buildtools точно не получится.

Support-библиотеки (support, design, appcompat) только что поменял на 24 ради эксперимента. IDE сказала, что, дескать, неправильно разные build-tools под разные библиотеки ставить, но проект пересобрался и вроде работает.

На гитхаб оно только что ушло, посмотри build.gradle

// в джаббер тебя добавил, но ты вроде как оффлайн
#  Re: Android клиент
btimofeev (tavern,13) → vit01  –  07:04:16 2016-08-31

По поводу версий sdk и библиотек: ты не можешь использовать buildtools выше 23.0.1? Support библиотеки 24 версии тоже не работают? Просто чтобы не получилось что я обновлю версии, а у тебя компилироваться не будет.

И у тебя есть jabber или что-то подобное, возможно некоторые вопросы было бы удобнее в чате решать. (мой jabber btimofeev@jabber.ru)
#  Re: Android клиент
vit01 (mira, 1) → btimofeev  –  06:29:14 2016-08-31

Хорошо, делай на своё усмотрение.

Кстати, RecyclerView, насколько видно по документации, довольно неплохая штука.
Попробую прикрутить его после того, как кое-какие свои баги наисправляю.
#  Re: Android клиент
btimofeev (tavern,13) → vit01  –  06:13:41 2016-08-31


vit01> Дал тебе RW-доступ в репозиторий; коль желание есть, можешь прикрутить самостоятельно.

Хорошо, займусь этим. Но я буду использовать библиотеку Material Drawer, вместо реализации из библиотеки Design, она проще в использовании, кода меньше, никаких xml файлов и она использует библиотеку Android-Iconics для отображения векторных и шрифтовых иконок (последнее оказалось удобной штукой, не нужно качать кучу иконок разных размеров, просто указываешь имя иконки в шрифте, а библиотека сама масштабирует).
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  00:54:58 2016-08-31

btimofeev> Сегодня попробовал Instant Run в Android Studio. Это офигительная штука!

Без неё вообще никак. Правда, есть баги: когда изменений всего на пару строк, то IDE может сообщить, что никаких изменений вовсе и не было. Тогда приходится нажимать "rebuild project" и ждать положенные несколько минут.
#  Re: Android клиент
vit01 (mira, 1) → btimofeev  –  00:54:57 2016-08-31

Так, перейдём сюда, чтобы людей не смущать. Как раз эхотаг.

btimofeev> А в чем проблема с SharedPreferences (я с ними никогда не работал)?

1. Чтобы хранить вложенные значения, нужны костыли. Например, люди предлагают всё тот же JSON
2. PreferenceActivity, который работает в связке с этим делом, имеет скудный набор виджетов (например, те же кастомные списки для эхолиста не сделать вообще)
3. Надо реализовывать всё через PreferenceFragment; это довольно небыстро (для кодинга в том числе) и заставляет пользователя дольше кликать, чтобы добраться до нужной настройки

btimofeev> А с json просто работать через библиотеку https://github.com/google/gson

Да, уже слышал про гсон: люди на том же Stackoverflow его постоянно советуют. Но, во-первых, хочется обойтись без внешних библиотек на нижнем уровне (для GUI ещё можно), во-вторых, когда я мельком взглянул на исходники этого чуда, сразу поплохело :)
#  Re: Android coding
btimofeev (tavern,13) → vit01  –  22:04:32 2016-08-30

Сегодня попробовал Instant Run в Android Studio. Это офигительная штука! Перекомпиляция, загрузка на телефон и перезапуск приложения занимает около двух секунд. Раньше на это у меня в районе минуты уходило. Здорово время экономит когда нужно делать много мелких правок и постоянно смотреть на результат.
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  01:21:13 2016-08-26

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

Увы, видимо, придётся через пару лет точно так же поступать.
#  Re: Android coding
btimofeev (tavern,13) → vit01  –  18:04:05 2016-08-25

vit01> Мой рабочий SDK 24.0.0 с build-tools и platform-tools 23.0.1

Спасибо за помощь, но у меня оно так и не заработало. Проблему решил более кардинальным образом: покупкой новой материнской платы, процессора и памяти (правда всё бюджетное). Теперь у меня 64 разрядный проц и даже эмулятор андроида более-менее нормально работает, так что буду свою прогу портировать под планшетные разрешения экрана.
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  04:12:21 2016-07-27

btimofeev> Напиши, пожалуйста, свои версию gradle плагина, и что ты пишешь в compileSdkVersion и в buildToolsVersion.

====
compileSdkVersion 23
buildToolsVersion "23.0.1"
====


При этом в dependencies

====
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:support-v4:24.0.0'
compile 'com.android.support:design:24.0.0'


>> Читать далее
#  Re: Android coding
btimofeev (station13, 13) → vit01  –  19:41:14 2016-07-26

vit01> Мой рабочий SDK 24.0.0 с build-tools и platform-tools 23.0.1

Напиши, пожалуйста, свои версию gradle плагина, и что ты пишешь в compileSdkVersion и в buildToolsVersion. Чего-то с твоим сдк у меня всякие разные ошибки валятся: то он обнаруживает что в папке с 24 build tools лежат 23, то когда я симлинк удалил gradle не может найти библиотеки firebase (думаю, может они не поддерживаются старым плагином).
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  18:16:56 2016-07-26

btimofeev> Если не сложно выложи пожалуйста.

Мой рабочий SDK 24.0.0 с build-tools и platform-tools 23.0.1

http://ii-net.tk/ii/files/sdk-24-tools-23.tar.xz
#  Re: Android coding
btimofeev (station13, 13) → vit01  –  16:30:05 2016-07-26


vit01> У тебя есть Swap-раздел на старом ноуте? Последний раз, когда gradle зависал, его подключение помогло.

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

vit01> Версия SDK тоже 23 или другая? Могу заархивировать собственный и выложить на сервер, если надо.

SDK 23, build tools я пробовал 23.0.3 и 23.0.2, platform tools были 24 (они уже 64х разрядные) я на их место скачал тоже 23.

Если не сложно выложи пожалуйста.
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  14:38:05 2016-07-26

btimofeev> Build tools все поставил 23 версии, так как они 32 битные. Причем виснет даже на сборке хелловорлда. И вот не понятно что теперь делать. Никто с таким не сталкивался?

Примерно сталкивался. У тебя есть Swap-раздел на старом ноуте? Последний раз, когда gradle зависал, его подключение помогло.
Версия SDK тоже 23 или другая? Могу заархивировать собственный и выложить на сервер, если надо.
#  Re: Android coding
btimofeev (station13, 13) → vit01  –  13:08:54 2016-07-26

Что-то у меня тоже беда со сборкой. Так как нетбук мой умер, сегодня я скачал свой проект на старый комп с хубунтой. Запускаю сборку, а gradle виснет на стадии app:mergeDebugResources. Build tools все поставил 23 версии, так как они 32 битные. Причем виснет даже на сборке хелловорлда. И вот не понятно что теперь делать. Никто с таким не сталкивался?
#  Re: Android coding
btimofeev (station13, 13) → vit01  –  13:56:27 2016-07-12

vit01> Пробовал запускать версию 1.4/1.5 буквально в прошлом году. Девайс виснет намертво (примерно на этапе компиляции проекта).

Я пользовался начиная с самых первых бета версий и до 2.* включительно. С зависаниями сталкивался если только помимо студии запустить еще что-то тяжелое, потипу браузера. Тогда не хватает ни памяти, ни свопа.

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

vit01> Про поддержку Python3 Андрей уже сказал ранее.

У них в бложике последние записи на тему того, что они добавляют поддержку 3 пайтона. https://kivy.org/planet/

vit01> С GoLang дел не имел пока. На текущий момент его осваивать как-то не хочется.

Язык по-моему достаточно хорош. Он маленький, простой и при этом напоминает помесь Си и скриптовых языков. Некоторые советуют учиться на этих простых примерах https://gobyexample.com/ Они покрывают (почти?) весь язык и часть стандартной библиотеки.
#  Re: Android coding
vit01 (mira, 1) → btimofeev  –  13:06:54 2016-07-12

vit01>> На моём ящике с двумя гигами писать для андроида, мягко говоря, проблематично. На нетбуке же (1ГБ) невозможно в принципе (уже пробовал).

btimofeev> Я на нетбуке пользовался android studio в течении последних трех лет. Нетбук с 1 гб оперативки и 1.6 Ггц intel atom. Но конечно тормозит оно жестоко.

Пробовал запускать версию 1.4/1.5 буквально в прошлом году. Девайс виснет намертво (примерно на этапе компиляции проекта).

btimofeev> И на python'е плюс kivy.

У kivy есть существенные недостатки, как по мне. Во-первых, недостаёт важных модулей (например, ctypes). Во-вторых, kivy до сих пор не имеет достойного редактора форм (у Qt есть очень удобный Qt Designer), и их придётся писать вручную. Есть, конечно, Kivy Designer, но он настолько сильно тормозит и много падает, что ему даже альфа-статус присваивать рано.

Про поддержку Python3 Андрей уже сказал ранее.

С GoLang дел не имел пока. На текущий момент его осваивать как-то не хочется.
#  Re: Google и x86_32
Andrew Lobanov (tavern,1) → btimofeev  –  11:45:02 2016-07-12

> И на python'е плюс kivy.

Вроде, там какие-то проблемы с третьим питоном, но для себя именно такой вариант на будущее рассматриваю. Пайтон, киви и бульдозер =)
#  Re: Google и x86_32
btimofeev (station13, 13) → Andrew Lobanov  –  11:37:46 2016-07-12

AL> Не хочу C++. Правда яву я хочу ещё меньше =)

А мне вот наоборот ява нравится больше cpp.

Еще под андроид можно на go писать. И на python'е плюс kivy. Правда сам я это все не пробовал.
#  Re: Google и x86_32
btimofeev (station13, 13) → vit01  –  11:37:45 2016-07-12

Тоже с этим столкнулся, пришлось ставить
adb и сопутствующие тулзы из репозитория дистрибутива и копировать в папку android studio.

vit01> На моём ящике с двумя гигами писать для андроида, мягко говоря, проблематично. На нетбуке же (1ГБ) невозможно в принципе (уже пробовал).

Я на нетбуке пользовался android studio в течении последних трех лет. Нетбук с 1 гб оперативки и 1.6 Ггц intel atom. Но конечно тормозит оно жестоко.
#  Re: Google и x86_32
vit01 (mira, 1) → Andrew Lobanov  –  04:38:55 2016-07-12

AL> Не хочу C++. Правда яву я хочу ещё меньше =)

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

Я вон тоже мечтаю, чтобы с комфортом можно было писать GUI и на питоне, и на лиспах, и даже на Lua каком-нибудь. В идеале даже прикручивать собственные shared-libraries с любыми биндингами для языков. А ещё чтобы можно было делать пакетирование для андроида полностью из CLI (в том числе на самом девайсе).

Что ж, видимо, прогресс идёт совсем в другую сторону.
#  Re: Google и x86_32
Andrew Lobanov (tavern,1) → vit01  –  04:21:46 2016-07-12

Не хочу C++. Правда яву я хочу ещё меньше =)
#  Re: Google и x86_32
Andrew Lobanov (tavern,1) → vit01  –  04:20:18 2016-07-12

> Понимаю, конечно, что гуглу просто лень делать сборки, но надо же хоть как-то предупреждать. А то нажал кнопочку "Обновить", и сборочное окружение полностью сломано. Несерьёзно для такой большой корпорации.

Эта общая тенденция нынче. 32-разрядные системы постепенно уходят в прошлое, так как с них уходят разработчики и им лень заниматься сборкой. И везде или мелким шрифтом или молча это делают.
#  Re: Google и x86_32
vit01 (mira, 1) → vit01  –  04:14:21 2016-07-12

И ещё немного упрёков в сторону продуктов сабжа. В системных требованиях для Android Studio указано, что минимальный объём ОЗУ должен быть 2 гига, а рекомендуемый - 8.

На моём ящике с двумя гигами писать для андроида, мягко говоря, проблематично. На нетбуке же (1ГБ) невозможно в принципе (уже пробовал).

Гугл, ты серьёзно? 8 гигов оперативы для мелкого Android-HelloWorld?

Короче, парни, пишите на C++ и Qt. Да, у них тоже есть свои минусы, но зато гораздо ниже системные требования, и оно работает на 32-битных системах. А поддержка Андроида и кроссплатформенности у Qt со временем постоянно улучшается. Кроме этого, можно писать в любимом Vim/Emacs.
#  Google и x86_32
vit01 (mira, 1) → All  –  04:02:26 2016-07-12

Корпорация постепенно избавляется от поддержки 32-битных систем в своих инструментах для разработчиков. Так опытным путём я выяснил, что последняя рабочая версия SDK - 24, при этом в ней надо ещё заменить подкаталог build-tools на такой же из 23.0.1.

Последний рабочий вариант NDK - версия 10.

Если попытаться обновить SDK через встроенный конфигуратор, на следующий раз он просто не запустится. И даже не выдаст предупреждения, дескать, "ставится только 64-битная сборка, вы уверены?"

В официальных ChangeLog об изменениях написано вскользь и мелким шрифтом.

Понимаю, конечно, что гуглу просто лень делать сборки, но надо же хоть как-то предупреждать. А то нажал кнопочку "Обновить", и сборочное окружение полностью сломано. Несерьёзно для такой большой корпорации.
#  Re: cmus
vit01 (mira, 1) → btimofeev  –  18:02:57 2016-06-13

btimofeev> Можешь еще посмотреть код deadbeef'а, у него внутри плагина доступна функция для добавления нескольких треков.

deadbeef как раз на разные сомнительные штуки имеет функцию плагиноинициализации. Здесь я сделал подобную вещь и тем самым завершил перенос функций добавления плейлиста внутрь плагинов.

Посмотрим, что разработчик ответит: https://github.com/cmus/cmus/pull/460
#  Re: cmus
btimofeev (station13, 13) → vit01  –  04:52:39 2016-06-06

Можешь еще посмотреть код deadbeef'а, у него внутри плагина доступна функция для добавления нескольких треков.
#  Re: cmus
vit01 (mira, 1) → btimofeev  –  15:46:22 2016-06-05

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

Планирую сделать в каждом плагине функцию инициализации, где всякая экзотика сможет регистрировать собственные обработчики плейлистов и других штук.
#  Re: cmus
btimofeev (station13, 13) → vit01  –  16:33:17 2016-05-27

vit01> Проталкивать в апстрим пока страшновато (несмотря на то, что моя ветка уже собирается и не сегфолтится).

Лучше создай заранее issue с обсуждением изменений или напиши на почту майнтейнеру приложения (его ник flyingmutant, он из России, на почту он нормально отвечает), так как он делает код ревью и отправляет на доработку если ему что-то не нравится (мой простенький vtx плагин со второго или третьего раза принял, точно не помню).
#  Re: cmus
vit01 (mira, 1) → vit01  –  15:55:41 2016-05-27

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

Проталкивать в апстрим пока страшновато (несмотря на то, что моя ветка уже собирается и не сегфолтится).
#  Re: Несетевые проекты
vit01 (mira, 1) → btimofeev  –  01:49:59 2016-05-25

btimofeev> Могу предложить поучаствовать в относительно крупном проекте. Есть очень неплохой консольный музыкальный плеер cmus.

Спасибо за идею. Вот собрал его только что, потом освою и буду исходники курить.
#  Re: emuchip-qt
vit01 (mira, 1) → btimofeev  –  01:49:59 2016-05-25

vit01> // Плюсы, кстати, неплохая вещь, особенно, в связке с Qt. Жаль, что раньше никогда почти дел с ними не имел.
btimofeev> А мне они уже не нравятся, слишком сложный язык, по-моему.

Смотря с чем сравнивать. Вот если сравнить C++ & Qt с Java на андроиде, то первая связка гораздо приятнее в работе.
А так на питоне проще всего делать. Вот хорошее отличие от питоновского PyQt в том, что не надо заморачиваться с импортами разных фич (т.е. не надо помнить заранее, какая вещь в каком классе находится).
#  Re: emuchip-qt
btimofeev (station13, 13) → vit01  –  15:30:31 2016-05-24

vit01> Надо бы какой-нибудь покрупнее проект найти.

Могу предложить поучаствовать в относительно крупном проекте. Есть очень неплохой консольный музыкальный плеер cmus. У его плагинной системы один недостаток: из плагина нельзя добавить несколько треков в плейлист (это нужно для музыкальных форматов в которых в одном файле может содержаться несколько треков). К примеру в плагинах поддержки cue и cd это сделано хаками: часть кода плагина содержится в коде программы. И это сильно усложняет написание подобных плагинов + при компиляции плагина нужно перекомпилировать и программу. Текущий майнтейнер проекта не против изменений, но никто за реализацию этого так и не взялся.

vit01> // Плюсы, кстати, неплохая вещь, особенно, в связке с Qt. Жаль, что раньше никогда почти дел с ними не имел.

А мне они уже не нравятся, слишком сложный язык, по-моему.
#  Re: emuchip-qt
vit01 (mira, 1) → btimofeev  –  13:48:34 2016-05-24

Хочется ещё и ещё кода понаписать. ;)

Надо бы какой-нибудь покрупнее проект найти.

// Плюсы, кстати, неплохая вещь, особенно, в связке с Qt. Жаль, что раньше никогда почти дел с ними не имел.
#  Re: emuchip-qt
btimofeev (station13, 13) → vit01  –  10:34:30 2016-05-24

vit01> Починил проблему с полосой, установив EventFilter на событие изменения размера меню.

Работает, спасибо. Кстати, добавь себя в файл authors.
#  Re: emuchip-qt
vit01 (mira, 1) → vit01  –  05:02:48 2016-05-24

Починил проблему с полосой, установив EventFilter на событие изменения размера меню.
Заодно сделал получение объекта menuBar единичным, а то как-то не очень хорошо для каждого раза заново метод вызывать.
#  Re: emuchip-qt
vit01 (mira, 1) → btimofeev  –  19:43:24 2016-05-23

Хорошо. А я тут наконец-то выяснил, почему появляется та самая белая полоса внизу окна. Это происходит из-за того, что размеры окна становятся больше, чем размер [холста + меню].

У тебя есть функции set1x(), set2x() и так далее. Внутри них есть такой кусок кода:

====
setFixedSize (512, 256 + menuBar()->height()); // например, так
====


Так вот, обнаружил, что перед первой отрисовкой окна (то есть при вызове readSettings() из конструктора) функция height() выдаёт одно значение, а после отрисовки - другое. У меня правильным оказывается второе значение, а первое - на 3 пикселя больше, чем надо.

Варианты: либо продолжить разборки и найти в самом Qt причины этого, либо сделать какой-нибудь костыль.
#  Re: emuchip-qt
btimofeev (station13, 13) → vit01  –  18:02:09 2016-05-21

vit01> О, а кода там совсем немного. Уже сейчас успел отправить, можно мержить, собирать и проверять.

Спасибо, смержил.

Насчет производительности: демки qt отрисовывают тысячи объектов с огромной скоростью, тут же отрисовка сотни квадратов порой тормозит. Особенно заметно на демках типа Climax Slideshow, на высоких разрешениях.

Я тут еще антиалиайсинг отключил, как то упустил его при портировании на qt5.
#  Re: emuchip-qt
vit01 (mira, 1) → vit01  –  09:48:40 2016-05-21

О, а кода там совсем немного. Уже сейчас успел отправить, можно мержить, собирать и проверять.
#  Re: emuchip-qt
vit01 (mira, 1) → btimofeev  –  09:16:41 2016-05-21

btimofeev> 2. ..... Вот передача этого массива между объектами реализована полным копированием, а не передачей указателя. Все мои попытки передать указатель заканчивались segfault'ом. Здесь наверное сказывается мое плохое знание c++, либо неправильная архитектура.

У меня получилось решить эту проблему. Вот приду с репетиции вечером, причешу код немного и закину на Гитхаб.
Правда, производительность только чуть-чуть повысилась, но всё же.

Над qt-шной пустой полосой пока думаю.
#  Re: Несетевые проекты
btimofeev (station13, 13) → vit01  –  13:13:57 2016-05-19

vit01> Если руки дойдут, то и над этим голову поломать можно. Можно поподробнее, что за ошибки?

1. При изменении размера окна внизу появляется пустая полоса в несколько пикселей. Не понимаю откуда она берется.

2. Второе это даже не ошибка, а не очень хорошо написанный код. Внутри эмулятор создает двумерный массив, представляющий экран. Виджет должен отрисовать этот массив на экране. Вот передача этого массива между объектами реализована полным копированием, а не передачей указателя. Все мои попытки передать указатель заканчивались segfault'ом. Здесь наверное сказывается мое плохое знание c++, либо неправильная архитектура.
#  Re: Несетевые проекты
vit01 (mira, 1) → btimofeev  –  12:33:44 2016-05-19

Серьёзная вещь, надо бы посмотреть.

btimofeev> Но в эмуляторе есть пара ошибок, которые я так и не решил (одна связана с размером окна Qt, вторая с указателями c++).

Если руки дойдут, то и над этим голову поломать можно. Можно поподробнее, что за ошибки?

btimofeev> // а вообще я всегда хотел написать эмулятор Sega Mega Drive, но думаю не дорос еще))

Это и вправду сложная задача. Но зато есть и те, кто на эту платформу до сих пор пишет. Вот у меня есть знакомый (который даже в секте появлялся пару раз), регулярно делающий что-нибудь под сегу на ассемблере. Музыку пишет и всякие прикольные графические эффекты.
#  Re: azot
vit01 (mira, 1) → vit01  –  12:19:26 2016-05-19

Сделал в сабже вот что:

* Инициализация дисплея для иксов теперь проходит только один раз
* В конфиге можно задавать самому задержку для проверки курсора
* Конфиг в самом начале не надо копировать вручную, программа сделает это сама
(вариант копирования из /usr/share/doc/ тоже работает)
* Теперь азот работает не на втором питоне, а на третьем

По первому пункту скажу, что после исправления сабж у меня исправно проработал около двух часов и никаких болезненных симптомов не показывал. Так что, видимо, проблема решена. Но протестировать всё равно надо.
#  Re: Несетевые проекты
btimofeev (station13, 13) → All  –  12:03:53 2016-05-19

У меня из проектов на гитхабе самое интересное https://github.com/btimofeev/emuchip

Это была моя попытка написать эмулятор простейшего компьютера, на примере Chip8 и SuperChip. Все игры для этих систем работают (за исключением одной, кажется). Но в эмуляторе есть пара ошибок, которые я так и не решил (одна связана с размером окна Qt, вторая с указателями c++).

// а вообще я всегда хотел написать эмулятор Sega Mega Drive, но думаю не дорос еще))
#  Re: Несетевые проекты
vit01 (mira, 1) → Difrex  –  08:51:52 2016-05-18

Difrex> ЗЫ: Покажи свои проекты, интересно :)

Если зайдёшь ко мне на гитхаб, то убедишься в том, что смотреть там особо нечего :)
// за исключением сетевых проектов, только это не в счёт

Хотя есть кое-что: https://github.com/vit1-irk/timeleft
Андроид-приложение для товарищей школьников, которое позволяет отслеживать расписание занятий (уроки/пары, перемены). Появилось после экспериментов в ii://linux.14 по NDK: ii://RZdZbVEHDhzU8UcpWJsF
Простое, как валенок, но зато имеет неплохой UI и поддерживает уведомления.
#  Re: azot
vit01 (mira, 1) → Difrex  –  08:51:51 2016-05-18

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

Заглянул в исходники X.py из азота. Там такой интересный кусок кода:

====
def get_cursor_position():
while 1:
try:
data = display.Display().screen().root.query_pointer()._data

return {'x': data['root_x'], 'y': data['root_y']}
====


Смущает очень сильно, что ты инициализируешь объект display через display.Display() каждый запуск этой функции. Если учесть, что это происходит постоянно раз в секунду, я не удивляюсь, что иксам это сильно надоедает ;)


>> Читать далее
#  Re: azot
Difrex (mira, 14) → vit01  –  07:06:13 2016-05-18

>Для производительности можно переписать сабж на Си, но вряд ли будет сильный прирост.
Я думал на счет Go :). Но проблема не в этом.

>Что думаешь?
Например, у меня на федоре иксы через примерно час начинают отлупливать соединения от Azot, типа, слишком часто. Скорее всего надо один раз подключаться и работать в пределах этой сессии, но как это сделать - я не знаю.

>удивило, кстати, что python2, а не python3
Привык я ко второму питону, но там под третий совсем немного переписывать.


ЗЫ: Покажи свои проекты, интересно :)
#  Re: azot
vit01 (mira, 1) → Difrex  –  12:53:21 2016-05-16

Difrex> Жрет ресурсы не в себя. Там постоянно опрашивается положение курсора.

Вроде бы, это единственный рабочий способ для иксов.

Решил проверить, как реализуются действия с углами в аналогах сабжа. Откопал программу brightside (есть в дебиановских репах), посмотрел исходники и обнаружил, что там отслеживание тоже делается с помощью своеобразного таймера, который смотрит положение.

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

Для производительности можно переписать сабж на Си, но вряд ли будет сильный прирост.
// удивило, кстати, что python2, а не python3

Что думаешь?
#  Re: Несетевые проекты
Difrex (mira, 14) → vit01  –  10:25:26 2016-05-16

Жрет ресурсы не в себя. Там постоянно опрашивается положение курсора.
Было бы круто использовать что-то типа Inotify, но для X, а не FS.
#  Re: Несетевые проекты
vit01 (mira, 1) → Difrex  –  08:20:44 2016-05-16

Difrex> Не заинтересует такая штука? https://github.com/Difrex/azot

Забавная вещь. И каковы планы по её улучшению? Делает своё дело, судя по видео, вполне исправно.
#  Re: Несетевые проекты
Difrex (mira, 14) → vit01  –  08:14:04 2016-05-16

>Итак, в PM вроде всё устоялось с фичами (если появятся ещё какие-нибудь хотелки, то пусть Денис пишет, поломаю голову).
Да, большое спасибо за коммиты :)

>Что можете предложить из того, что не связано с нашей сеткой, но интересно было бы сделать вместе?
Не заинтересует такая штука?
https://github.com/Difrex/azot
#  Re: Несетевые проекты
vit01 (mira, 1) → vit01  –  16:27:12 2016-05-15

Итак, в PM вроде всё устоялось с фичами (если появятся ещё какие-нибудь хотелки, то пусть Денис пишет, поломаю голову).

Надо ещё и больше.

Что можете предложить из того, что не связано с нашей сеткой, но интересно было бы сделать вместе?

// могу и сам чего-нибудь предложить, но сначала подожду
#  Re: PM
vit01 (mira, 1) → Difrex  –  11:32:26 2016-05-09

Difrex> Есть только проблема с отображением, если uri в ресурсе очень длинный - табличку корежит

Difrex> Я, в принципе, знаю как это поправить.

Там таблица строится очень просто - обычным дополнением пробелов справа.

Если получится починить, то очень хорошо. Сам просто не придумал, как такие случаи обрабатывать. Только если обрезать строку, но это не очень правильно.
#  Re: PM
Difrex (mira, 14) → vit01  –  11:20:46 2016-05-09

Очень классно получилось.

Есть только проблема с отображением, если uri в ресурсе очень длинный - табличку корежит: https://cloud.difrex.ru/index.php/s/txaZ77bL1KlJ562

Я, в принципе, знаю как это поправить. Спасибо, смержил в тестинг :)
#  PM
vit01 (mira, 1) → Difrex  –  09:05:08 2016-05-09

В своём репозитории сабжа сделал ветку testing.

В этой ветке сделал вывод в красивую таблицу и исправил твой костыль с дублированием кода при выводе информации.
Протестируй и выскажи своё мнение.

====
./pm.pl -s -n all
====
#  Re: PM
Difrex (mira, 14) → vit01  –  11:26:13 2016-05-04


>Difrex> Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.
vit01> Он разве слишком некрасивый? Там даже цвет есть, насколько видно.
Я просто хотел сделать, как в mysql/pgsql - табличка, чтобы рисовалась.

>Попробую почитать что-нибудь на эту тему. А sqlite действительно не очень хорошо здесь смотрится. Скорее, это проблема самой перловой реализации (сделали только самые базовые вещи).
Там делов-то немного. Переписать только функции из DB.pm, я вечерком, может займусь =)
#  Re: PM
vit01 (mira, 1) → Difrex  –  10:53:48 2016-05-04

Difrex> Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.

Он разве слишком некрасивый? Там даже цвет есть, насколько видно.

Хотя всё-таки есть, чего улучшить. У меня вот в терминале тема оформления светлая, поэтому поле ID не видно совсем.

Difrex> Еще есть проблема в SQL, там нет уникального ключа по имени.

Ну это на раз-два.

Difrex> Да и вообще, я думаю, что стоит перейти на что-то noSQL, хотябы на perl Storable. + в этом, что избавимся в зависимостях от sqlite.

Попробую почитать что-нибудь на эту тему. А sqlite действительно не очень хорошо здесь смотрится. Скорее, это проблема самой перловой реализации (сделали только самые базовые вещи).
#  Re: PM
Difrex (mira, 14) → vit01  –  06:48:00 2016-05-04

>Помогу и сделаю пулл-реквест (или сейчас сделаю, если хочешь).
Делай пулл-реквест(только в AUTHORS себя не забудь добавить :), я потестю на своей базе из ~150 паролей и смержу в мастер.

>Скажи, что ещё хотел бы сделать.
Да вот красивый вывод в pm -sn all, только хочется. Все руки не дошли до того, чтобы сделать это.

Еще есть проблема в SQL, там нет уникального ключа по имени. Да и вообще, я думаю, что стоит перейти на что-то noSQL, хотябы на perl Storable. + в этом, что избавимся в зависимостях от sqlite.
#  Re: PM
vit01 (mira, 1) → Difrex  –  13:38:34 2016-05-01

Форкнул сабж и написал туда чуть-чуть:
https://github.com/vit1-irk/PM

Изменения:
* Теперь можно импортировать БД из файла
* При автогенерации пароля можно при желании задать его длину
* Место расшифрованной БД поменял на /dev/shm

Третий пункт сделал из-за того, что /tmp люди не всегда монтируют, как tmpfs (некоторые просто на диске его держат), а /dev/shm всегда автоматически ставится в tmpfs.

Скажи, что ещё хотел бы сделать. Помогу и сделаю пулл-реквест (или сейчас сделаю, если хочешь).
#  Re: PM
vit01 (mira, 1) → Andrew Lobanov  –  16:53:31 2016-04-29

Оно хранится в зашифрованном (через GPG) виде в $HOME. При каждом взаимодействии база расшифровывается, находясь в /tmp, и сразу же удаляется.

Небезопасность заключается в том, что из /tmp расшифрованный файл базы можно позднее восстановить, если этот самый /tmp не примонтирован в виде tmpfs.

// а я тем временем обнаружил, что sqlite-модуль даже текстовые дампы не поддерживает
// надо бы в самом деле на что-то другое переписать
#  Re: PM
Andrew Lobanov (tavern,1) → All  –  16:33:12 2016-04-29

А как вообще в сабже с безопасностью? В каком виде оно хранится? А то я чёт перловые исходники совсем не разумею, а времени на кемел бук нет пока.
#  Re: PM
vit01 (mira, 1) → vit01  –  15:12:14 2016-04-29

Итак, Named Pipes эта штука так же не поддерживает. А жаль, потому что в MySQL можно было нормально сделать LOAD DATA INFILE, и всё бы пахало, как часы.

Лучше было бы вообще не sqlite использовать, а json какой-нибудь, с ним бы точно проблем не было.
#  Re: PM
vit01 (mira, 1) → Difrex  –  13:10:21 2016-04-29

Difrex> * Подсунуть базу драйверу sqlite как файл, т.е. через \$bd

И как бы это примерно выглядело? Непонятно, что под этим ты имеешь в виду.

Вместо хранения дампа можно сделать в том числе и Named Pipe, именно так лучше и попробую.
#  Re: Несетевые проекты
Difrex (mira, 14) → btimofeev  –  06:29:07 2016-04-29

>Сорри за оффтоп, но чем pass не устроил? https://www.passwordstore.org/
Мне он был не удобен. Мне нужен был именно плоский вывод имен, т.к. я часто использую подобное:
====
pm -sn all | tail -3
====
Так же мне хотелось xdg-open, чтобы сразу перейти по ссылке. Хотелось комментариев к паролям, и.т.д.

Короче, pass мне был не удобен и я написал свой велосипед. :)
#  Re: PM
Difrex (mira, 14) → vit01  –  06:16:01 2016-04-29

>и обнаружил, что ни DBI, ни сам sqlite не поддерживают загрузку бинаря базы данных из RAM.
Да, я знаю про это. Вообще я думал попробовать так:
* Расшифровать базу в память - тут все норм
* Подсунуть базу драйверу sqlite как файл, т.е. через \$bd

>В таком случае БД придётся даже в зашифрованном виде хранить не в виде sqlite-файла, а в виде sql-дампа. Грустно и медленно, но зато 100% безопасно.
>Если тебя устроит данный способ взаимодействия, то могу форкнуть и приделать.
Если получится, то было бы круто =)


#  Re: Несетевые проекты
btimofeev (station13, 13) → Difrex  –  18:16:59 2016-04-28

Difrex> Вот, например, чем я пользуюсь постоянно - pm https://github.com/Difrex/PM. Консолькный менеджер паролей для X. Писал потому что ничего удобнее(для меня) нет.

Сорри за оффтоп, но чем pass не устроил? https://www.passwordstore.org/
#  Re: PM
vit01 (mira, 1) → Difrex  –  14:39:33 2016-04-28

Кстати, решил изучить вопрос по вот этому TODO:

> Store decrypted DB into RAM not in /tmp/

и обнаружил, что ни DBI, ни сам sqlite не поддерживают загрузку бинаря базы данных из RAM.

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

В таком случае БД придётся даже в зашифрованном виде хранить не в виде sqlite-файла, а в виде sql-дампа. Грустно и медленно, но зато 100% безопасно.

Если тебя устроит данный способ взаимодействия, то могу форкнуть и приделать.
#  Re: PM
Difrex (mira, 14) → vit01  –  14:10:55 2016-04-28

>Жаль, что перл, а то бы TODO-шка твоя быстро опустела :) Хотя подозреваю, что там не все планы.
Ридми давно не апдейтил, а хелп в самом коде так и подавно =) Запушил
#  Re: PM
vit01 (mira, 1) → Difrex  –  12:25:25 2016-04-28

Difrex> Вот, например, чем я пользуюсь постоянно - pm https://github.com/Difrex/PM. Консолькный менеджер паролей для X.

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

Допиши, кстати, в README:

On Arch-based systems:
====
yaourt -S perl-dbd-sqlite perl-clipboard
====


Difrex> У меня много планов на него, но мало времени. Хотя бы версию 0.0.3 зарелизить.

Жаль, что перл, а то бы TODO-шка твоя быстро опустела :) Хотя подозреваю, что там не все планы.

>> Читать далее
#  Re: Несетевые проекты
Difrex (mira, 14) → vit01  –  08:19:32 2016-04-28

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

А вот и зря. Нормального перемещения/копирования в плоских репах нет. По-этому, собственно говоря, и был написан lotly. Используется сейчас у нас в продакшене.
#  Re: Несетевые проекты
Difrex (mira, 14) → vit01  –  08:19:28 2016-04-28

>А ты расскажи про что-нибудь, может быть желание появится помочь :)
Вот, например, чем я пользуюсь постоянно - pm https://github.com/Difrex/PM. Консолькный менеджер паролей для X. Писал потому что ничего удобнее(для меня) нет.

У меня много планов на него, но мало времени. Хотя бы версию 0.0.3 зарелизить.
#  Re: Несетевые проекты
vit01 (mira, 1) → Difrex  –  02:20:07 2016-04-28

Difrex> На самом деле, например, у меня много проектов свободных не связанных с ii/idec, только никому они больше не интересны.

А ты расскажи про что-нибудь, может быть желание появится помочь :)
Может быть, мы про них просто не знаем.

// правда, в практической значимости такой штуки, как lotly, я немного сомневаюсь, т.к. для дебиановских репозиториев и так куча софта существует
#  Re: idec.el
vit01 (mira, 1) → Difrex  –  02:13:59 2016-04-28

Difrex> Читаем сообщения в эхе

А вот здесь прошу объяснить. Насчёт получения и отправки всё понятно (просто открывается новый буфер, туда льётся текст, а потом press Enter to continue).

Но как именно будет происходить процесс чтения? "Стеной текста" или каким-нибудь хитрым переключением, как в Цезии?
#  Re: idec.el
Difrex (mira, 14) → vit01  –  19:44:50 2016-04-27

>Уже есть идеи, как оно будет выглядеть?
M-X idec-fetch - получаем сообщения и выводим их
M-X idec-read-echo() - Читаем сообщения в эхе
M-X idex-make-answer() - Отвечаем

И.т.д.
#  Re: Несетевые проекты
Difrex (mira, 14) → Andrew Lobanov  –  19:40:03 2016-04-27

>Я за любую движуху в нашей уютной
+1

На самом деле, например, у меня много проектов свободных не связанных с ii/idec, только никому они больше не интересны.
#  Re: Несетевые проекты
vit01 (mira, 1) → Andrew Lobanov  –  16:41:44 2016-04-27

AL> // Ещё когда фидонет был очень жив, я и то почти не писал в нём. Как-то плохой из меня писатель.

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

1. Припомню такой случай, когда Рома меня втянул перевести вместе несколько статей про OpenBSD. Именно вместе. Было интересно.
2. Раньше, когда ещё даже в ii не сидел, иногда заглядывал в имиджборды в скрытосетях. Видел там одно дело, которое меня немного поразило даже. Люди решили совместно записать электронный трек, совсем не зная заранее, что выйдет в конце. Кто-то из анонимов написал небольшую тему, другой - наложил на неё какую-то мелодию, третий - записал барабаны, а четвёртый - свёл вместе. У ребят получилось сделать нечто даже несмотря на то, что они друг друга совершенно не знали.
3. В MLP-сообществах часто практикуются коллективные переводы и переработки различных вещей (в том числе анонимно). Те же русские субтитры на следующий день в пример.

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

Можно делать адаптации разных технических учебных пособий в более понятный и доступный вид (и скидывать в эхи) "по партийному заказу".

Можно пойти по пути товарищей из suckless.org и разработать какую-то стороннюю вещь в рамках нашего сообщества.

Опять же какие-нибудь творческие проекты.

>> Читать далее
#  Re: Несетевые проекты
Andrew Lobanov (tavern,1) → vit01  –  15:26:25 2016-04-27

vit01> Что скажете?

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

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

// Ещё когда фидонет был очень жив, я и то почти не писал в нём. Как-то плохой из меня писатель.
#  Несетевые проекты
vit01 (mira, 1) → All  –  14:40:42 2016-04-27

Эта мысль пришла ещё раньше, но предыдущее сообщение Дениса спровоцировало её выход наружу.
Мы частенько пилим все вместе клиенты и стандарты для нашей сетки. И в перспективе будем продолжать это делать.

Но как вам затея сделать или улучшить что-нибудь, что не связано конкретно с IDEC, ii, gk11, и тому подобным?

Вопрос задаётся как в контексте программирования, так и с учётом других видов деятельности, напрямую не связанных с кодом.
// develop в эхотаге, вы знаете, переводится как "развивать", но это так, к слову

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

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

Что скажете?
#  Re: idec.el
vit01 (mira, 1) → Difrex  –  14:02:37 2016-04-27

Difrex> Появилась дурная мысль запилить клиент для Emacs :)
Difrex> Кто со мной?

Хоть на десктопе в любом случае я буду ходить через свой клиент, насчёт емакса было бы всё равно прикольно. Готов помочь, потому что скука одолела :)

Можно ещё воспользоваться какими-нибудь наработками Андрея (если они ещё остались, конечно).

Уже есть идеи, как оно будет выглядеть?
#  idec.el
Difrex (mira, 14) → All  –  13:57:17 2016-04-27

Появилась дурная мысль запилить клиент для Emacs :)

Я уже полностью перешел в качестве джаббер-клиента на емакс, хочу теперь и в уютную се(к)точку писать из него ^_^

Кто со мной?
#  Re: Emacs
Difrex (mira, 14) → Andrew Lobanov  –  19:45:11 2016-04-18

>Какой он у тебя гламурненький.
Смесь vim+sublime ^_^

>Как такой modeline сделал?
Поставил https://melpa.org/#/airline-themes и в M-X customize-themes выбрал подходящую тему
#  Re: Emacs
Andrew Lobanov (station13, 1) → Difrex  –  14:43:52 2016-04-18

Difrex> Вроде настроил себе emacs =>

Какой он у тебя гламурненький. Как такой modeline сделал?

Difrex> Разбираюсь с org-mode.

Это очень объёмная тема. По нему даже отдельная книга есть.
#  Re: Emacs
Difrex (mira, 14) → vit01  –  14:20:55 2016-04-18

Вроде настроил себе emacs => http://storage8.static.itmages.ru/i/16/0418/h_1460989184_8354350_36199cb938.png

Разбираюсь с org-mode.

Уже перешел с pidgin на jabber.el :D
#  Re: Emacs
Andrew Lobanov (station13, 1) → Difrex  –  10:20:05 2016-04-14

Difrex> А можно ли в емаксе пилить свои комбинации клавишь не на Fx?

Не понял вопроса =) Можно какие угодно комбинации лепить. Как для глобального использования, так и индивидуально для разных режимов.

Difrex> И еще: хочу выделять несколько строк, а поотом двигать их по тексту через C-Shift Up/Down. Можно такое сделать?

Не сталкивался с такой необходимостью. Надо гуглить расширения.
#  Re: Emacs
Difrex (mira, 14) → Andrew Lobanov  –  09:50:06 2016-04-14

А можно ли в емаксе пилить свои комбинации клавишь не на Fx?
И еще: хочу выделять несколько строк, а поотом двигать их по тексту через C-Shift Up/Down. Можно такое сделать?
#  Re: Emacs
vit01 (mira, 1) → Andrew Lobanov  –  13:00:30 2016-04-13

AL> Только вот настройка такого монстра, как Emacs, это дело достаточно индивидуальное. Смотря что ты от него хочешь.

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

====
#!/bin/bash

if [ "`pgrep emacs`" = "" ]; then
emacs --eval "(server-start)" $1 & exit
else
emacsclient --no-wait $1
fi
====


Vim, кстати, тоже умеет работать по принципу клиент-сервер, но поддержка этой фичи отсутствует в стандартной версии из репозиториев Арча (а пересобирать лень).
#  Re: Emacs
Andrew Lobanov (station13, 1) → Difrex  –  12:08:48 2016-04-13

Difrex> ЗЫ: Может подскажете мне по настройке Емакса что-нибудь? Гайды там кикие-нибудь?

Гайдов море на той же хабре. Только вот настройка такого монстра, как Emacs, это дело достаточно индивидуальное. Смотря что ты от него хочешь.

// В плане редактирования кода мне хватает просто дополнительных режимов (mode). Собственно, lua-mode и php-mode. Ещё отключены меню, тулбар и скроллбар. На F8 навешан linum-mode (нумерование строк для удобной навигации по коду) и включен автометом visual-line-mode (перенос по словам).

====
;; Добавляем пути для поиска нужных библиотек и расширений
(add-to-list 'load-path "~/.emacs.d/lisp/lua-mode/")
(add-to-list 'load-path "~/.emacs.d/lisp/php-mode/")

;;;
;;; Appearance
;;;
;; Disable GUI components


>> Читать далее
#  Re: Emacs
Difrex (mira, 14) → Andrew Lobanov  –  11:48:01 2016-04-13

>Но ценник негуманный за такой редактор ИМХО.
Ценник высок, да. Но редактора лучше я пока не нашел.

ЗЫ: Может подскажете мне по настройке Емакса что-нибудь? Гайды там кикие-нибудь?
#  Re: Emacs
Andrew Lobanov (station13, 1) → vit01  –  15:43:21 2016-04-12

Difrex>> * нормальное multiline редактирование
vit01> Что под этим имеется в виду?

Это такой режим редактирование, когда несколько курсоров одновременно реагируют на нажатия клавиш. После освоения регулярок уже не так нужно по большей части. Хотя в ряде случаев мжет быть удобно. Особенно для любителей хардкода =)

// В emacs есть расширение для этого. По мне так не хуже саблаймовского режима, но я не сильно вникал.

Difrex>> Даже подумываю купить его, хотя можно и так пользоваться - лицензия не запрещает.
vit01> Помню, что когда они выпустили третью версию, многие негодовали из-за нововведений и из-за проприетарной лицензии. Именно это меня и отпугнуло от того, чтобы его попробовать.

У него изначально проприетарная лицензия. Мне ещё вторая версия предлагала приобрести лицензию. Но ценник негуманный за такой редактор ИМХО.
#  Re: Emacs
vit01 (mira, 1) → Difrex  –  15:36:14 2016-04-12

Difrex> * нормальное multiline редактирование

Что под этим имеется в виду?

Difrex> Даже подумываю купить его, хотя можно и так пользоваться - лицензия не запрещает.

Помню, что когда они выпустили третью версию, многие негодовали из-за нововведений и из-за проприетарной лицензии. Именно это меня и отпугнуло от того, чтобы его попробовать.
#  Re: Emacs
Difrex (mira, 14) → vit01  –  14:47:16 2016-04-12

>А в чём фишка Sublime и его клонов?
Клоны - отстой.

Фичи:
* настраиваемость всего и вся
* приятные кейбиндги для любого языка по-дефолту
* отличная интеграция с perl :)
* нормальное multiline редактирование
* работает реактивно(быстрее вима с кучей плагинов для достижения той же функциональности)

Даже подумываю купить его, хотя можно и так пользоваться - лицензия не запрещает.
#  Re: Emacs
Andrew Lobanov (station13, 1) → vit01  –  08:57:32 2016-04-12

Difrex>> Я вот так и не осилил емакс. Для больших проектов использую Sublime Text 2, для мелких скриптиков -- vim.

> А в чём фишка Sublime и его клонов?

В том, что он очень удобен из коробки (i3wm, кстати, этим же славится), встроенный питон и некоторая схожесть с TextMate. Я на нём сидел около года и в принципе остались вполне приятные впечатления. А вот киллер-фич вспомнить не могу.
#  Re: Emacs
vit01 (mira, 1) → Difrex  –  07:47:39 2016-04-12

Difrex> Я вот так и не осилил емакс. Для больших проектов использую Sublime Text 2, для мелких скриптиков -- vim.

А в чём фишка Sublime и его клонов?

Вот vim хорош сочетаниями клавиш и минимализмом, емакс - многофункциональностью и интеграцией с Лиспом.

// на десктопе, скорее всего, перейду на емакс, а на телефоне и сервере оставлю вим; вообще не понимаю срачи по этим редакторам
#  Re: Emacs
Difrex (mira, 14) → vit01  –  07:05:01 2016-04-12

Я вот так и не осилил емакс. Для больших проектов использую Sublime Text 2, для мелких скриптиков -- vim.

#  Re: Emacs
Andrew Lobanov (station13, 1) → btimofeev  –  13:42:27 2016-04-10

btimofeev> Ещё org-mode в нем довольно крутой. Надо как-то познакомиться с ним поближе.

В своё время это послужило причиной моего перехода с вима.
#  Re: Emacs
Andrew Lobanov (station13, 1) → vit01  –  13:42:27 2016-04-10

vit01> Думал, что в емаксе что-то подобное, вот и спросил.

Учитывая мой опыт "я ещё только сформулировал хотелку, а для emacs её уже написали" наверняка есть что найти.
#  Re: Emacs
btimofeev (station13, 13) → vit01  –  11:32:54 2016-04-10

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

Я когда его запустил впервые и увидел там игры - удивился.

Ещё org-mode в нем довольно крутой. Надо как-то познакомиться с ним поближе.
#  Re: Emacs
vit01 (mira, 1) → Andrew Lobanov  –  10:03:14 2016-04-10

AL> Прикол в том, что Emacs это далеко не только тектосвый редактор. Так что посмотри в сторону других его возможностей при случае.

Про возможности этого комбайна ходят легенды :) Это же как целая ОС.

В емаксе есть свой язык программирования, почтовый клиент, читалка новостей, текстовый браузер, игры, календарь, пакетный менеджер, эмулятор терминала и многое другое.
Видел даже набор расширений, позволяющих сделать из емакса веб-сервер.
#  Re: Emacs
vit01 (mira, 1) → btimofeev  –  09:52:14 2016-04-10

btimofeev> Я сам не пробовал, но говорят там есть неплохой vi-mode. Evil кажется называется.

В этом нет необходимости. Если будет всё так, как привык, тогда лень одолеет и в других вещах.

Помню, как раньше пробовал редактор vile. Что-то среднее между vim и emacs. Забавный, конечно, но не очень удобный.
#  Re: Emacs
vit01 (mira, 1) → vit01  –  09:52:14 2016-04-10

vit01> В vim есть специальный костыль (уже из коробки), который позволяет держать в иксах английскую раскладку (для команд и клавиш), а сам текст документа вводится по-русски.

Проблема решена. Добавляем в init-файл вот эту строку

====
(setq default-input-method "cyrillic-jcuken")
====


и получаем поведение, аналогичное виму. Внутреннее переключение будет по Ctrl+\
#  Re: Emacs
btimofeev (station13, 13) → vit01  –  05:38:58 2016-04-10

vit01> С Емаксом работать пока сложновато, но буду как-нибудь привыкать.

Я сам не пробовал, но говорят там есть неплохой vi-mode. Evil кажется называется.
#  Re: Emacs
vit01 (mira, 1) → Andrew Lobanov  –  00:15:01 2016-04-10

AL> С другой стороны, команды в vim тоже на английской раскладке надо вбивать.

Здесь подход особенный. В vim есть специальный костыль (уже из коробки), который позволяет держать в иксах английскую раскладку (для команд и клавиш), а сам текст документа вводится по-русски.
Думал, что в емаксе что-то подобное, вот и спросил.
#  Re: Emacs
Andrew Lobanov (station13, 1) → vit01  –  17:30:12 2016-04-09

vit01> Попробовал SLIME. Удобная штука. С Емаксом работать пока сложновато, но буду как-нибудь привыкать.

Прикол в том, что Emacs это далеко не только тектосвый редактор. Так что посмотри в сторону других его возможностей при случае. А удобнее SLIME я действительно ничего ещё в разработке не встречал.

vit01> Как в сабже нормально настроить русскую раскладку? Просто сочетания клавиш работают только на английской.

А вот не знаю. С другой стороны, команды в vim тоже на английской раскладке надо вбивать. Так что переключение раскладки уже в подкорке. Но если нагуглишь решение, то делись.
#  Emacs
vit01 (mira, 1) → All  –  16:38:27 2016-04-09

Попробовал SLIME. Удобная штука. С Емаксом работать пока сложновато, но буду как-нибудь привыкать.

Как в сабже нормально настроить русскую раскладку? Просто сочетания клавиш работают только на английской.
#  Re: Упрощение написания скриптов для GIMP
vit01 (mira, 1) → Andrew Lobanov  –  06:49:30 2016-03-30

AL> Тут какое дело. Лиспокод не по скобочкам читают на самом деле. Я скобочки не замечаю даже особо. Блоки отделяются отступом, а синтаксис на скобочки не так уж и завязан при чтении человеком, как бы это странно не звучало.

Дело скорее не именно в чтении (мы же всё-таки буквы читаем, а не скобочки, верно?), а в написании кода. Когда он уже написан, скобки можно перенести на предыдущие строки и не обращать на них внимания. Но во время кодинга привык отделять. Ладно, спишу это на свои привычки.

AL> Было бы прикольно подключиться SLIME к гимпу.

Не поверишь, но такой плагин уже существует: https://github.com/pft/gimpmode
#  Re: Упрощение написания скриптов для GIMP
Andrew Lobanov (station13, 1) → vit01  –  06:19:11 2016-03-30

> Просто хочется как-то отделять скобочные блоки, чтобы не запутаться в них. Если оставлять закрывающие скобки на предыдущей строке (а не на отдельной), то очень трудно определить, где какой смысловой блок, и очень просто сделать синтаксическую ошибку.

Тут какое дело. Лиспокод не по скобочкам читают на самом деле. Я скобочки не замечаю даже особо. Блоки отделяются отступом, а синтаксис на скобочки не так уж и завязан при чтении человеком, как бы это странно не звучало.

> - Через Emacs можно советоваться с психотерапевтом и играть в тетрис!
> - Подумаешь тетрис! Я вон GIMP вместо калькулятора использую :D

Было бы прикольно подключиться SLIME к гимпу.
#  Re: Упрощение написания скриптов для GIMP
vit01 (mira, 1) → Andrew Lobanov  –  05:46:55 2016-03-30

AL> Возможно одно из двух: или ты не привык к лиспу

Оно самое.

AL> видно, что писал человек, привыкший к алголоподобному синтаксису =)

Когда знакомился с эстетическими правилами оформления в CL, они мне как-то не понравились. Иногда читаю конкретно твой лиспокод и всё никак не могу с этим смириться.

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

AL> Не знал, что в гимпе есть лисп.

В нём ещё и интеграция с питоном есть (правда питон не встроенный), но для лиспа там есть сервер, а для питона - нет.
Даже забавно с другой стороны.


>> Читать далее
#  Re: Упрощение написания скриптов для GIMP
Andrew Lobanov (station13, 1) → vit01  –  17:25:59 2016-03-29

vit01> За отступы и оформление кода в целом не ругайте, по-другому читать ЭТО не получается =)

Возможно одно из двух: или ты не привык к лиспу или твой редактор некорректно занимается автоформатированием. Но в любом случае, код вполне читаемый на выходе, но видно, что писал человек, привыкший к алголоподобному синтаксису =)

// Не знал, что в гимпе есть лисп. Спасибо за информацию.
#  Упрощение написания скриптов для GIMP
vit01 (mira, 1) → All  –  19:15:22 2016-03-28

Возникла на днях задача пакетно обработать 179 JPEG-файлов.

Была мысль сначала взять ImageMagick, но подумал, что мало приятного в его использовании. PIL (Python Imaging Library) использовать тоже не хотелось, потому что многие параметры там надо подкручивать вручную.

И тут вспомнил, что в Гимпе есть свой встроенный Лисп. Воображение сразу разгулялось =)
Открыл встроенную консоль для Script-Fu и нашёл пару статеек на Хабре (например, эта: https://habrahabr.ru/post/111387/ )

Но не тут-то было! Изначально хотелось писать скрипты в своём любимом Vim'e и удобно их отлаживать, но Гимп предлагает только примитивный REPL (который требует запись программы в одну строку) и каталог модулей, запуск которых идёт как будто в "чёрном ящике".

Обнаружил, что можно запустить сервер Script-Fu и подключаться к Гимпу удалённо. Протокол у него предельно простой, но вот нормальных готовых клиентов реализовано практически не было.

Один из них полностью на Perl (и перлом заправляет, т.е. никаких скобочек), другой на неизвестном диалекте Scheme, третий на Питоне (из исходников самого Гимпа) и ничего мне нужного не умеет.

Решил реализовать собственный, на Си, через сокеты. Для скачивания идти сюда: https://github.com/vit1-irk/gimp-exec


>> Читать далее
#  Re: Вдохновляющий текст: Write Code Every Day
Andrew Lobanov (station13, 1) → Difrex  –  04:43:45 2016-03-10

>> The code must be Open Source and up on Github.

> Я вот, кстати, не считаю, что надо сразу тащить все на гитхаб.

Мне кажется, это надо читать, как "доступность кода с историей изменений". Хоть hg, хоть git, хоть svn с bazar. Во всяком случае именно это мне кажется хорошим тоном для Open Source проекта. В конце концов, хороший код с историей изменений и хорошими комментариями к коммитам может играть роль некоего учебного пособия помимо прочего.
#  Re: Вдохновляющий текст: Write Code Every Day
vit01 (mira, 1) → Difrex  –  12:12:32 2016-03-02

>> The code must be Open Source and up on Github.
Difrex> Я вот, кстати, не считаю, что надо сразу тащить все на гитхаб.

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

Но вот насчёт "коммунизм-кода" с автором соглашусь. Если твои труды могут принести кому-то пользу, то лучше ими поделиться. И позже, кстати, они пойдут в репутацию для работодателя.
#  Re: Вдохновляющий текст: Write Code Every Day
Difrex (mira, 14) → vit01  –  11:55:37 2016-03-02

>The code must be Open Source and up on Github.
Я вот, кстати, не считаю, что надо сразу тащить все на гитхаб.
#  Вдохновляющий текст: Write Code Every Day
vit01 (mira, 1) → All  –  12:15:45 2016-03-01

Это надо запостить сюда полностью
Источник: http://ejohn.org/blog/write-code-every-day/


Last fall, work on my coding side projects came to a head: I wasn’t making adequate progress and I couldn’t find a way to get more done without sacrificing my ability to do effective work at Khan Academy.

There were a few major problems with how I was working on my side projects. I was primarily working on them during the weekends and sometimes in the evenings during the week. This is a strategy that does not work well for me, as it turns out. I was burdened with an incredible amount of stress to try and complete as much high quality work as possible during the weekend (and if I was unable to it felt like a failure). This was a problem as there’s no guarantee that every weekend will be free – nor that I’ll want to program all day for two days (removing any chance of relaxation or doing anything fun).

There’s also the issue that a week between working on some code is a long time, it’s very easy to forget what you were working on or what you left off on (even if you keep notes). Not to mention if you miss a weekend you end up with a two week gap as a result. That massive multi-week context switch can be deadly (I’ve had many side projects die due to attention starvation like that).

Inspired by the incredible work that Jennifer Dewalt completed last year, in which she taught herself programming by building 180 web sites in 180 days, I felt compelled to try a similar tactic: working on my side projects every single day.

I decided to set a couple rules for myself:

1. I must write code every day. I can write docs, or blog posts, or other things but it must be in addition to the code that I write.

>> Читать далее
#  Обнаружил проблему 2038 года в ii-php
vit01 (mira, 1) → All  –  09:05:27 2016-02-22

Сабж
Проявится, если использовать движок MySQL.
Надо будет поменять там структуру.
#  "Транспорты" для базы и PHP
vit01 (mira, 1) → All  –  11:36:10 2016-02-21

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

Поэтому решил реализовать абстрактный интерфейс, через который бы можно было делать любые вещи с любой базой.

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

В планах стоит сделать некую сисоп-панель, через которую можно править/удалять содержимое эх, чистить дубли и.т.д.
#  Пятая сборка клиента
vit01 (mira, 1) → All  –  06:47:20 2016-02-11

Список изменений:
ii://kg020clPuRsXz6UjrJIu
( эха ii://ii.14 )

Виндузятникам рекомендуется сначала удалить предыдущую версию.

Пожалуйста, протестируйте по юзабилити.
#  Четвёртая сборка клиента
vit01 (mira, 1) → All  –  04:53:53 2016-02-10

Исправления и улучшения можно почитать здесь:
ii://ii.14

ii://ek0DKrdqVsZwu4VhQcAf
ii://WrBS7WxjodCn0y2Q2cGv

Установщик находится всё по тому же адресу.
Пакет для дебиана: http://ii-net.tk/files/iicli-modular-0.6.0.deb

[NEW] Portable-версия для винды.
Теперь можно носить клиент вместе с базой на флешке!
http://ii-net.tk/files/ii-portable.zip
#  Re: Третья сборка клиента
vit01 (mira, 1) → btimofeev  –  13:46:08 2016-02-07

> Еще при вводе неправильного пароля при отправке сообщения не выводит ошибки. Пишет просто отправлено 0 сообщений. А, к примеру, при помытке скачать список файлов ноды выводит Error: no auth.

А это из-за модульного строения клиента (морда и мейлер отдельно). Можно соорудить костыль для такого, конечно.
То, что при попытке скачивания списка файлов выводит ошибку, связано с тем, что это всё парсится, и если парсинг не удался, то выкидывается Exception.

Теперь есть, с чем ещё поработать =)
#  Re: Третья сборка клиента
vit01 (mira, 1) → btimofeev  –  13:39:08 2016-02-07

> 1. Когда загружаются сообщения процесс загрузки выводится сразу в двух окнах: основном и окне отладки. Нужно ли последнее пользователю?

Если у пользователя медленный интернет (или он через прокси сидит), то окно отладки даёт понять, что клиент не висит, а работает. Особенно во время начальных запросов индекса.

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

> 2. Когда чищу базу сообщений окно отладки находится позади окна "дополнительные полезности" и на передний план его нельзя переместить.

Про эту особенность уже знаю, но пока не задумывался, что она может мешать =)
Это как-то связано с модальностью окон, попробую с этим разобраться.
#  Re: Третья сборка клиента
btimofeev (station13, 13) → vit01  –  13:18:08 2016-02-07

Еще при вводе неправильного пароля при отправке сообщения не выводит ошибки. Пишет просто отправлено 0 сообщений. А, к примеру, при помытке скачать список файлов ноды выводит Error: no auth.
#  Re: Третья сборка клиента
btimofeev (station13, 13) → vit01  –  13:13:12 2016-02-07

У меня работает. Пара незначительных моментов:

1. Когда загружаются сообщения процесс загрузки выводится сразу в двух окнах: основном и окне отладки. Нужно ли последнее пользователю?

2. Когда чищу базу сообщений окно отладки находится позади окна "дополнительные полезности" и на передний план его нельзя переместить.
#  Третья сборка клиента
vit01 (mira, 1) → All  –  07:47:21 2016-02-07

* Решил (надеюсь) проблему с пробелами в пути к файлу.
* Exe-шники снова собираются.
* Наконец-то работает деинсталлятор.
* Русский язык в установщике.

exe доступен по той же ссылке, просьба протестировать.
#  Re: Вторая сборка клиента
vit01 (mira, 1) → vit01  –  15:45:09 2016-02-06

В общем, у меня проблемы теперь. Решил пересобрать exe-шники, и питон всё время падает.

====
22033 INFO: Processing pre-find module path hook PyQt5.uic.port_v3
22094 INFO: Processing pre-find module path hook PyQt5.uic.port_v2
23074 INFO: Looking for import hooks ...
23140 INFO: Processing hook hook-PyQt5.uic.py
23214 INFO: Processing hook hook-PyQt5.QtGui.py
wine: Unhandled page fault on read access to 0x44874150 at address 0xb74a8b66 (thread 0027), starting debugger...
Traceback (most recent call last):
File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python34\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Python34\lib\site-packages\PyInstaller\__main__.py", line 97, in <module>


>> Читать далее
#  Re: Вторая сборка клиента
vit01 (mira, 1) → btimofeev  –  07:12:01 2016-02-06

Хорошо, пересоберу вечером с экранированием пробелов.
#  Re: Вторая сборка клиента
btimofeev (station13, 13) → vit01  –  16:44:56 2016-02-05

Теперь у меня редактор начал открываться, но выдает ошибку что мол не может открыть файл "C://Documents";. Видимо не может обработать путь с пробелом. Ставлю gvim редактором, он просто создает и открывает файл "c://documents";
#  Вторая сборка клиента
vit01 (mira, 1) → All  –  15:39:04 2016-02-05

Учёл некоторые замечания, подправил установщик ещё и для создания ярлыков.

Доступна по той же ссылке:
http://ii-net.tk/files/iiclient.exe

// увы, установщик работает, а деинсталлятор пока не доделал; так что если клиент мусорит, то я не виноват =)

И да, теперь сборка идёт прямо из гита, т.к. я закоммитил все изменения для совместимости.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → btimofeev  –  08:39:08 2016-02-05

tossedit.exe - это и есть тот самый внутренний редактор. Насчёт точки, видимо, специфично для винды; попробую починить, спасибо.

Попробуй вместо leafpad поставить notepad и снять галку
#  Re: Черновая сборка для Qt-клиента на винду
btimofeev (station13, 13) → vit01  –  07:44:15 2016-02-05

vit01> А как работает? Может быть, есть какие-нибудь баги?

vit01> И да, ещё можно пожелания высказать.

По установщику: он предлагает установку по-умолчанию в ту же директорию откуда запускаешь, а не в Program Files. В установленной папке лежат .git и какой-то tossedit.exe

В клиенте у меня не открывается редактор при нажатии кнопок "Ответить" или "Новое". В консоль пишет: "." не является внутренней или внешней командой, исполняемой программой или пакетным файлом. В настройках выставлен редактор Leafpad (которого у меня конечно нет) и стоит галочка на Использовать встроенный редактор.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → Andrew Lobanov  –  05:27:30 2016-02-05

AL> А. Ну я ж со своей колокольни.

Мой клиент сделан для таких людей, у которых прописано 5 и более станций, а на каждой станции по 40 эх =)
Так что ради производительности иногда приходится жертвовать удобством.

AL> PS: А где глянуть алгоритм получения сообщений?

Файл webfetch.py (и ещё network.py, если интересна работа с прокси).

AL> Как поведёт себя клиент в такой ситуации?
Он зафетчит 50 последних. Да, я знаю, что это неправильно и собираюсь пофиксить в будущем, но руки пока не доходят.
Поэтому по-умолчанию поставил лимит 200, чтобы наверняка такого не было.
#  Re: Черновая сборка для Qt-клиента на винду
Andrew Lobanov (station13, 1) → vit01  –  05:10:34 2016-02-05

vit01> Я рассматривал вариант помещения прогрессбара в получение эх, но отказался от такой затеи.
vit01> Во-первых, потому что юзер должен полностью контролировать процесс фетча (а прогрессбар - это штука сама по себе ненадёжная), во-вторых, потому что алгоритм фетча слишком оптимизирован (как у Ромы), и не определишь, к какой эхе какое сообщение относится. В-третьих, потому что придётся избавиться от модульности в ii-шном движке (а это скажется негативно на будущих поделках).

А. Ну я ж со своей колокольни. У меня лютый монолит, завязанный узлом сам на себя.

vit01> Кстати, а как тебе всякие дополнительные плюшки вроде получения списка эх, блэклиста, чистки и прочего? Пробовал /x/c включать на своей ноде?

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

PS: А где глянуть алгоритм получения сообщений? Например, у меня включена поддержка расширенной /u/e и оно получает последние 50 сообщений. Я, например, неделю не получал новых сообщений и в эхе на ноде их скопилось больше 50. Как поведёт себя клиент в такой ситуации?
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → Andrew Lobanov  –  05:01:31 2016-02-05

AL> // А я в итоге без расширенного /u/e это сделал =) Теперь вот репу чешу: зачем предлагал =)

На самом деле расширенный /u/e - это более правильный подход, потому что клиенту не надо скачивать весь индекс.

При твоём способе клиент получает полный список сообщений и отсекает N локально, а при моём он сразу получает N в индексе (отсечка идёт на ноде).

На больших эхах вроде lor-opennet.15 расширение /u/e очень помогает.

AL> например, окно получения эх я бы сделал с двумя прогресс барами: кол-во эх и кол-во скачиваемых сообщений

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

Сейчас и фетчер, и мейлер, и blacklist, и сам ii_functions.py полностью совместимы с любыми другими реализациями. Например, с tk-версией. Также к iicli-modular можно без проблем прикрутить консольную или текстовую морду, и он будет работать со всеми фичами.
Фантазировал даже как-то раз прикрутить Цезий на свой движок.

>> Читать далее
#  Re: Черновая сборка для Qt-клиента на винду
Andrew Lobanov (station13, 1) → vit01  –  04:15:39 2016-02-05

vit01> Если ты включишь в настройках "Поддержку расширенного /u/e", то клиент будет скачивать только последние N.

Ух ты. Не доглядел =)

// А я в итоге без расширенного /u/e это сделал =) Теперь вот репу чешу: зачем предлагал =)

vit01> Точно, забыл. Но это с PyInstaller'ом связано, а не с самим клиентом, починю. Ты же имеешь в виду чёрную консоль питона, да?

Да. Его. Клиент мне очень глянулся на самом деле. Классный такой. Некоторые шороховатости, конечно, есть (например, окно получения эх я бы сделал с двумя прогресс барами: кол-во эх и кол-во скачиваемых сообщений, но это сугубо моё видение и не факт что так надо делать), но пользоваться уже можно и он уже няшен.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → Andrew Lobanov  –  02:29:33 2016-02-05

AL> Кстати, может сделать получение не полной эхи? А то вчера под виндой запускал (8.1 полёт нормальный), так кое как дождался загрузки эх из стандартного конфига.

Если ты включишь в настройках "Поддержку расширенного /u/e", то клиент будет скачивать только последние N.

AL> Ну и окно терминала бы скрыть ещё.

Точно, забыл. Но это с PyInstaller'ом связано, а не с самим клиентом, починю. Ты же имеешь в виду чёрную консоль питона, да?
#  Re: Черновая сборка для Qt-клиента на винду
Andrew Lobanov (station13, 1) → vit01  –  02:05:17 2016-02-05

vit01> И да, ещё можно пожелания высказать.

Кстати, может сделать получение не полной эхи? А то вчера под виндой запускал (8.1 полёт нормальный), так кое как дождался загрузки эх из стандартного конфига.

Ну и окно терминала бы скрыть ещё.
#  Re: Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → btimofeev  –  23:21:36 2016-02-04

А как работает? Может быть, есть какие-нибудь баги?

И да, ещё можно пожелания высказать.
#  Re: Черновая сборка для Qt-клиента на винду
btimofeev (station13, 13) → vit01  –  16:34:31 2016-02-04

vit01> Посмотрите, пожалуйста, что оно вообще запускается.

Устанавливается и программа работает.
#  Черновая сборка для Qt-клиента на винду
vit01 (mira, 1) → All  –  14:18:13 2016-02-04

Сделал через NSIS самым простым способом, какой только был. Это просто для теста, что оно работает.

Посмотрите, пожалуйста, что оно вообще запускается.

http://ii-net.tk/files/iiclient.exe
#  Re: Wine и Python
vit01 (mira, 1) → btimofeev  –  00:48:06 2016-02-04

Спасибо, попробую на выходных сделать готовую сборку и отчитаюсь.
#  Re: Wine и Python
btimofeev (station13, 13) → vit01  –  21:21:35 2016-02-03

vit01> А, и да, ещё как-то установщик сделать и ярлык в меню "Пуск". Здесь я даже не знаю, в какую сторону копать.

Я когда-то давно пользовался установщиком nsis, попробуй его, он один из самых популярных. Пишешь простенький скрипт на встроенном языке, скармливаешь его программе, она тебе создает установщик.

Так же могу помочь с тестированием на winxp, у меня есть одна на нетбуке.
#  Re: Wine и Python
vit01 (mira, 1) → vit01  –  14:13:38 2016-02-03

Хорошие новости. Удалось завести pip и PyInstaller. Удалось скомпилировать всё в ехе-шники. Дефолтный редактор работает. Даже кракозябры теперь ясно, как убрать, в ближайшие дни этим займусь.

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

А, и да, ещё как-то установщик сделать и ярлык в меню "Пуск". Здесь я даже не знаю, в какую сторону копать.
#  Re: Wine и Python
vit01 (mira, 1) → Difrex  –  10:52:38 2016-02-03

Difrex> Нужен человек с виндой.

Это ясно, но разве у нас такие водятся?
#  Re: Wine и Python
Difrex (mira, 14) → vit01  –  07:56:24 2016-02-03

Нужен человек с виндой.
#  Wine и Python
vit01 (mira, 1) → All  –  04:16:05 2016-02-03

Запустил питон под вайном. Еле-еле он работает. PyQt, как ни странно, тоже работает. И клиент запустился. Правда, там сообщения все в кракозябрах (и дефолт-редактор не работает), но всё же.

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

====
>C:\Python34\Scripts\pip.exe
Fatal error in launcher: Job information querying failed
====

Пришлось убрать (или поменять) в нескольких местах вызовы locale.setlocale, иначе выдавалась ошибка.
#  Re: Bash и Python развращают мозг
vit01 (mira, 1) → vit01  –  12:26:13 2016-01-14

Всё, решено, буду делать велосипеды в большом количестве =)
Обнаружил пробелы в знаниях в области параллельного программирования и асинхронных запросов в вебе.
#  Re: Bash и Python развращают мозг
vit01 (mira, 1) → Andrew Lobanov  –  13:26:19 2016-01-13

AL> На самом деле bash это хорошо
AL> Пайтон же хорош для небольших скриптов
vit01>> руки невольно тянутся к тому, что сразу работает. А с помощью чего можно быстро сделать всё, что угодно? Правильно - с помощью баша и питона.

Хотел выразить предыдущим сообщением всё-таки немного другое. Суть не в том, что баш и питон плохие (сабж слишком провокационный), а то, что мне уже надоело писать скрипты/ноды/клиенты для ii (всё равно они уже юзабельные и хорошо работают), хочется чего-то нового и другого, не на этих языках.

И ещё то, что излишний комфорт препятствует самообразованию.

Когда все баги исправлены, нужные софтины и скрипты работают, как часы, фичи все необходимые есть, тогда vit01 становится скучно, и начинается депрессняк. Думаю подыскать какой-нибудь опенсурс-проект и идти пилить, но не знаю, куда податься =(
#  Re: Bash и Python развращают мозг
Andrew Lobanov (station13, 1) → vit01  –  07:34:18 2016-01-13

vit01> P.S. Извините за такой душевный выброс, но просто не получается держать это внутри

На самом деле bash это хорошо (потому что нет смысла писать на C/Pascal/Fortran/указать свой вариат то, что можно уместить в пайп). Пайтон же хорош для небольших скриптов (на худой конец для ii-ноды или ii-клиента =).

Действительно нет смысла переписывать то, что и так хорошо работает. Лучшее - враг хорошего.

В тему вспоминается старый анекдот про программиста и его сына:

- Пап, почему солнце встаёт на востоке и заходит на западе?

Отец, не отрываясь от монитора:

- Ты проверял?

- Да.

>> Читать далее
#  Bash и Python развращают мозг
vit01 (mira, 1) → All  –  14:32:36 2016-01-12

К такой мысли я пришёл, когда в очередной раз помирал от скуки.

Как известно, лень - двигатель прогресса. И именно поэтому часто приходится писать всяческие скрипты и полезные штуки, чтобы уменьшить количество рутинных действий за компьютером.
Казалось бы, имеется куча интересных языков программирования, с помощью которых можно хорошо повеселиться, получить удовольствие и необычный опыт в процессе написания скриптов. Но нет же: лень диктует своё, поэтому руки невольно тянутся к тому, что сразу работает. А с помощью чего можно быстро сделать всё, что угодно? Правильно - с помощью баша и питона. Пять строк простого, незамысловатого кода, и результат достигнут!
В этом месте лень начинает работать против человека. Зачем переписывать (и, главное, начинать писать) эти штуки на других языках, если всё и так работает? Зачем лишний раз напрягать мозг? Вот здесь и начинается разврат.
Путь к излечению трудный и долгий; придётся иметь дело с ломками, как у наркоманов. Надо каким-то образом загонять себя в жёсткие рамки используемых ресурсов и отказываться от привычных технологий в пользу самообразования. Создать себе на ЭВМ аскетичное рабочее окружение без всяких "плюшек" и пытаться в нём выживать.
В общем, перестать себя баловать всякими фичами и реализовать эти фичи самому.

P.S. Извините за такой душевный выброс, но просто не получается держать это внутри
#  Re: split-sequence
vit01 (mira, 1) → Andrew Lobanov  –  04:28:07 2016-01-02

Так или иначе, попробовал набросать подобную функцию сам.
Скорее всего, это г...код, но всё же:

====
(defun split (str delimiter &key (save-empty nil))
(setq delimiter (coerce delimiter 'character))
(let ((result nil) (len (length str)) (j 0) (toappend ""))
(dotimes (i len)
(if (char= (char str i) delimiter)
(progn
(setq toappend (subseq str j i))
(setq result (append result (list toappend)))
(setq j (1+ i))
; если разделитель в конце, добавляем пустоту
(if (= i (1- len)) (setq result (append result (list "")))))


>> Читать далее
#  Re: split-sequence
Andrew Lobanov (station13, 1) → vit01  –  08:41:02 2015-12-30

vit01> // ура, наконец-то кто-то из "своих" появился в ii =)

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

AL>> split-sequence я взял потому что проще взять готовое. Вот если бы отказаться от drakma или hunchentoot это да, в split-sequence маленький и не критичный.

vit01> hunchentoot, насколько слышал, присутствует в репозиториях дебиана (и, скорее всего, других дистрибутивов). Так что чем меньше посторонних зависимостей, тем проще будет отказаться именно от quicklisp, а не от самого нужного.

Я противник в данном случае завязывания на систему. quicklisp это вполне себе штатное уже решение, которое даёт гарантию простого запуска на любой системе, где есть лисп-машина и интернет.
#  Re: split-sequence
vit01 (mira, 1) → Andrew Lobanov  –  08:02:46 2015-12-30

// ура, наконец-то кто-то из "своих" появился в ii =)

AL> split-sequence я взял потому что проще взять готовое. Вот если бы отказаться от drakma или hunchentoot это да, в split-sequence маленький и не критичный.

hunchentoot, насколько слышал, присутствует в репозиториях дебиана (и, скорее всего, других дистрибутивов). Так что чем меньше посторонних зависимостей, тем проще будет отказаться именно от quicklisp, а не от самого нужного.
#  Re: split-sequence
Andrew Lobanov (station13, 1) → vit01  –  05:18:19 2015-12-30

vit01> Вопрос Андрею, как знатоку CL.

Я не знаток CL, к сожалению. Катострофически не хватает времени на всё. Так что знаю его весьма поверхностно.

vit01> Заглянул тут в код iicl и задумался: а зачем же использовать сабж? Для нужд ii вполне можно взять какую-нибудь самописную функцию и не тянуть лишние зависимости через quicklisp.

iicl - мой учебный проект, на котором я учился писать хоть что-нибудь на CL. Там многое сделано очень плохо и криво. split-sequence я взял потому что проще взять готовое. Вот если бы отказаться от drakma или hunchentoot это да, в split-sequence маленький и не критичный.

vit01> Или дело в каких-нибудь заморочках с производительностью?

Дело в ламерстве =)
#  split-sequence
vit01 (mira, 1) → Andrew Lobanov  –  15:55:50 2015-12-27

Вопрос Андрею, как знатоку CL.

Заглянул тут в код iicl и задумался: а зачем же использовать сабж? Для нужд ii вполне можно взять какую-нибудь самописную функцию и не тянуть лишние зависимости через quicklisp.
Или дело в каких-нибудь заморочках с производительностью?
#  Читаю тут PCL
vit01 (mira, 1) → All  –  15:47:37 2015-12-19

Сабж вполне подробный и нескучный.

Как прочитал "историю про макросы" отсюда https://github.com/pcl-ru/pcl-ru/blob/master/chapter-08.tex , впервые за день искренне улыбнулся =)

А функциональный подход лиспа всё-таки ломает неокрепшие мозги.
Кстати, а почему в Common Lisp есть общие макросы and, or, not, но при этом xor доступен только через logxor и подобные ему?
#  node.js
Difrex (mira, 14) → All  –  09:51:02 2015-12-10

Кто пишет под это?

Может кто объяснить, как мне собрать метрики с процесса? Ну, там Garbage Collector вот это все.
#  Re: LISP
vit01 (mira, 1) → Andrew Lobanov  –  16:10:47 2015-12-03

> PS: Я рекомендую почитать первую главу PCL (Practical Common Lisp).

Спасибо за направление. Взял PDF в другом месте, буду читать теперь.
#  Re: LISP
Andrew Lobanov (station13, 1) → vit01  –  16:44:04 2015-12-02

vit01> На прошлой неделе тоже пытался немного пощупать сабж. Уж так ты его нахваливал, аж попробовать захотелось :)

Как оказалось, в PCL дело написано в первой главе: разные языки действительно различны не взирая на формальное равенство по Тьюрингу. Но у Lisp есть и некоторые неудобства в виде достаточно тяжёлой lisp-машины, например.

vit01> Хотел бы узнать, какие биндинги/API/стандартные либы общие у всех диалектов. А то по синтаксису общие моменты есть, но в остальном всё у всех своё.

Дело в том, что по факту разные диалекты лиспа это разные языки со схожими или одинаковыми принципами. Лично я рекомендую Common Lisp, так как он стандартизирован (ANSI). По факту даже разные реализации того же Common Lisp несколько различны, но у них одинаковое ядро и всегда можно написать код совместимый с большим числом реализаций.

Common Lisp сильно отличен от прочих языков. Здесь нет единой линии партии, единой реализации. К вопросу о разных реализациях, кстати, тот же C, я уж молчу про C++, может работать по разному с разными компиляторами. Так что трагического ничего нет.

vit01> Embeddable Common Lisp умеет переводить свой код в сишные файлы, компилируемые GCC. Хотя сколько не пытался, всё сегфолты и ошибки линковки.

То есть по факту таки нет.

PS: Я рекомендую почитать первую главу PCL (Practical Common Lisp). Лучше всего взять русский перевод тут https://github.com/pcl-ru/pcl-ru или я могу скинуть уже готовую pdf-ку. Если первая глава заинтригует, то почитать хотя бы главы 2 и 3. После этого уже можно что-то писать (я clii написал, имея за плечами только этот багаж).
#  Re: LISP
vit01 (mira, 1) → Andrew Lobanov  –  14:51:56 2015-12-02

На прошлой неделе тоже пытался немного пощупать сабж. Уж так ты его нахваливал, аж попробовать захотелось :)

Хотел бы узнать, какие биндинги/API/стандартные либы общие у всех диалектов. А то по синтаксису общие моменты есть, но в остальном всё у всех своё.

AL> Нативный бинарь у лиспа это очень своеобразная штука. По крайней мере у SBCL. Это по своей сути упакованная в один файл лисп-машина и core dump всего загруженного на момент "компиляции". В итоге бинари толстые.

Embeddable Common Lisp умеет переводить свой код в сишные файлы, компилируемые GCC. Хотя сколько не пытался, всё сегфолты и ошибки линковки.
#  Re: LISP
Andrew Lobanov (station13, 1) → Difrex  –  11:36:44 2015-12-02

Difrex> Не, не совсем то. Зато sbcl --script точно, то, что нужно.

Ещё есть полезняшка в виде sbcl --eval.

Difrex> Теперь есть такой вопрос: как обрабатывать исключения? По типу eval в perl, ну или try/except в python?

PCL глава 19. Сам ещё толком не разбирался.
#  Re: LISP
Difrex (mira, 14) → Difrex  –  11:34:27 2015-12-02

>О, compile-file делает, то, что мне нужно :)
Не, не совсем то. Зато sbcl --script точно, то, что нужно.

Теперь есть такой вопрос: как обрабатывать исключения? По типу eval в perl, ну или try/except в python?
#  Re: LISP
Andrew Lobanov (station13, 1) → Difrex  –  11:27:41 2015-12-02

Difrex> О, compile-file делает, то, что мне нужно :)

Кстати, если разберёшься как подружить fasl и quicklisp (я просто не копал в эту сторону), то черкни сюда пару строчек о решении.

// Если я разберусь раньше, то отпишусь тоже да =)
#  Re: LISP
Andrew Lobanov (station13, 1) → Difrex  –  11:17:47 2015-12-02

Difrex> О, compile-file делает, то, что мне нужно :)

Так оно же fasl компилит. Или я тебя не понял просто?
#  Re: LISP
Difrex (mira, 14) → Difrex  –  11:05:27 2015-12-02

О, compile-file делает, то, что мне нужно :)
#  Re: LISP
Difrex (mira, 14) → Andrew Lobanov  –  10:10:54 2015-12-02

>Базу ЦД из PCL рекомендую всё таки разобрать. Хорошее погружение, так сказать.
Да я читаю это все. Просто хотелось параллельно писать полезный говнокод :)

>Нативный бинарь у лиспа это очень своеобразная штука.
Спасибо, попробую разобраться с этим.
#  Re: LISP
Andrew Lobanov (station13, 1) → Difrex  –  09:41:54 2015-12-02

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

Зато ты можешь подгрузить и запустить swank и подключаться к этому толстому бинарю после запуска с помощью SLIME как к удалённой лисп-машине. Баги удалённо на горячую править или ещё чего.
#  Re: LISP
Andrew Lobanov (station13, 1) → Difrex  –  09:39:26 2015-12-02

Difrex> Глянул на CL -- это прямо то, что нужно! Синтаксис еще долбанутей перла, я такое люблю! Начал читать Practical Common Lisp. Но это все нудно. Я люблю учить что-то новое через реальные задачи, а не базу ЦД.

Базу ЦД из PCL рекомендую всё таки разобрать. Хорошее погружение, так сказать.

Difrex> Такой вот очень нубский вопрос: как скомпилить файл в нативный бинарь? Как запустить файл в интерпретаторе(не в REPL (load "filename"))?

Нативный бинарь у лиспа это очень своеобразная штука. По крайней мере у SBCL. Это по своей сути упакованная в один файл лисп-машина и core dump всего загруженного на момент "компиляции". В итоге бинари толстые.

На примере SBCL это выглядит так:

====
* (sb-ext:save-lisp-and-die "bin-name" :executable t :top-level 'function-name)
====


Всё, что выполняется вне функций упихиваешь в функцию (например (defun main () ...)). Тогда :top-level 'main будет. А :executable отвечает за конечный результат: бинарь дампа или лисп-машину туда присобачить.

>> Читать далее
#  Re: LISP
Difrex (mira, 14) → Difrex  –  08:49:04 2015-12-02

Да, поставил SBCL.
#  LISP
Difrex (mira, 14) → All  –  08:47:21 2015-12-02

Я тут подумал, что надо бы написать что-то на чем-то отличном от перла или питона.
Руби не хочу, ноджс тащить в систему ваще не хочется, С не люблю с института.

Глянул на CL -- это прямо то, что нужно! Синтаксис еще долбанутей перла, я такое люблю! Начал читать Practical Common Lisp. Но это все нудно. Я люблю учить что-то новое через реальные задачи, а не базу ЦД.

Такой вот очень нубский вопрос: как скомпилить файл в нативный бинарь? Как запустить файл в интерпретаторе(не в REPL (load "filename"))?
:D
#  develop.16
Difrex (mira, 14) → All  –  09:55:28 2015-12-01

Обсуждение вопросов программирования.