Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
RSS
# Упрощение написания скриптов для GIMP
develop.16
vit01(mira, 1) — All
2016-03-28 20:15:22


Возникла на днях задача пакетно обработать 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

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

* Запускаете GIMP-сервер (удобнее через меню "Фильтры" => "Script-Fu" => "Запустить сервер")
* Пишете скрипт в вашем любимом редакторе
* Скармливаете его командой gimp-exec your-script.scheme
* Всё

Дополнительные моменты в README.md репозитория.

А для конвертации получилось вот такое вот заклинание:

(gimp-message-set-handler 1)
(let*
	((files (cadr (file-glob "/путь/к/картинкам/*" 1))))
	(while (not (null? files))
		(let (
			(filename (car files))
			(new-filename "")
			(image 0)
			(layer 0)
		)
			(set! image (car (gimp-file-load RUN-NONINTERACTIVE filename filename))) 
			(set! layer (car (gimp-image-get-active-layer image)))
			(set! new-filename (string-append filename "-new.png"))

			(gimp-message (string-append "Обрабатываем " filename))

			(gimp-levels-stretch layer)
			(gimp-brightness-contrast layer 0 40)
			(gimp-posterize layer 10)
			(gimp-image-convert-grayscale image)
			(gimp-image-convert-indexed image 2 3 10 FALSE TRUE "colors")
			(file-png-save RUN-NONINTERACTIVE image layer new-filename new-filename 0 9 0 0 0 1 0)
			(gimp-image-delete image)
		)
		(set! files (cdr files))
	)
)

За отступы и оформление кода в целом не ругайте, по-другому читать ЭТО не получается =)

# Re: debian
linux.14
vit01(mira, 1) — spline
2014-07-23 05:29:17


> На самом деле GNU это всё что входит в операционную систему GNU. systemd встраивается в эту систему, как и ядро linux. Но не является при этом её частью. Хотя и распространяется под гнутой лицензией.
Но ОС GNU не имеет обязательных компонентов, которые должны быть туда включены. Как правило, это некоторая часть официальных пакетов, таких как Coreutils, компилятор и ещё парочка утилит, а остальное может быть вообще от других систем и авторов. И это нормально. Ядро Linux - это такая же часть системы, как и всё остальное, но при этом она не является обязательной.

# Re: Вдохновляющий текст: Write Code Every Day
develop.16
vit01(mira, 1) — Difrex
2016-03-02 12:12:32


>> The code must be Open Source and up on Github.
Difrex> Я вот, кстати, не считаю, что надо сразу тащить все на гитхаб.

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

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

# Re: чудо команды
linux.14
vit01(mira, 1) — krivedk0
2014-07-23 01:59:06


> А есть ли чудо-команда, что поможет мне узнать тип софтинки ? Т.е какая она ? Утилита, гамулька, офисное и
т.д
$ man софтина
и читаешь...
а вообще, смотри использование apt-cache, если не перелез с дебианоподобных.

> А ещё можно узнать тип интерфейса ? Консоль или гуй ?
Запустить уже не вариант? :)

# Re: проверка подписи
idec.talks
vit01(mira, 1) — Anotheroneuser
2018-09-10 01:32:41


Anotheroneuser> В настройках станции «Таверна» я указал адрес http://club.syscall.ru и получилось отправить сообщения. Правильно сделал?

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

+++ Отправлено через IDEC Mobile
+++ Linux rulez, Windows sucks, friendship is magic

# Re: AliceTails internet radio station
music.14
vit01(mira, 1) — Difrex
2019-11-17 06:42:39


jmaks>> Так же в скором времени, планируется к запуску подкастовый эфир, сейчас решается в каком же формате и с каким сведением винрарным всё это проводить.
Difrex> Хотелось бы видеть анонсы подкастов тут, в IDEC, чтобы не пропустить :)

Более того, хотелось бы видеть эти анонсы не просто абы где, а именно тут - в ii://music.14
Нечего плодить лишние эхи :)

Поддерживаю идею с RSS. Так можно будет очень легко натравить бота

// приятно удивился, что на радио даже экзотика вроде psytrance и технарщины есть

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

# Re: AliceTails internet radio station
music.14
vit01(mira, 1) — jmaks
2019-11-17 06:42:33


jmaks> Хотелось бы конечно больше выхлопа, какое-что-чего; сам запускаю слушать стрим через vlc, mocp, ncmpcpp, chromium, google chrome, так же пробовал через тот самый transistor под android, вполне себе работает;

Firefox 70.0.1, GNU/Linux, онлайн-поток не воспроизводит и просто молчит, в хромиуме всё окей

Насчёт mpv проблема решилась после пары обновлений. Либо это на сервере софт починили, либо mpv обновился

mpv 0.30.0 сейчас

Кстати, при переключении треков вот это выдаёт:

[lavf] Linearizing discontinuity: 0.000000 -> 193.515102
[lavf] Linearizing discontinuity: 193.512200 -> 193.515102

Не знаю, это что-то плохое или просто инфо-строка

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

# Re: До завтра
pipe.2032
vit01(mira, 1) — 51t
2014-08-01 05:03:12


> эхи, которые у меня гейтуются в обе стороны с r.51t.ru:
> эхи, которые забираются с irk38.tk для r.51t.ru

Так нам гейтовать те, которые в обе стороны идут с r.51t.ru?

# Re: А вот и он, родимый
pipe.2032
vit01(mira, 1) — vit01
2014-08-01 04:48:56


> Как и обещал, http://irk38.tk/ii/blacklist.txt
В блэклисте появились сообщения из эхи Столлмана

# Re: До завтра
pipe.2032
vit01(mira, 1) — 51t
2014-08-01 04:41:22


>по эхам я уже сказал - болталка pipe.2032, эха по ii - ii.14
Что значит "эха по ii"? У тебя ii.14 - это такая же болталка, что там можно обсуждать? Если софт обсуждать, то в эхе про софт.

# Вдохновляющий текст: Write Code Every Day
develop.16
vit01(mira, 1) — All
2016-03-01 12:15:45


Это надо запостить сюда полностью
Источник: 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.
2. It must be useful code. No tweaking indentation, no code re-formatting, and if at all possible no refactoring. (All these things are permitted, but not as the exclusive work of the day.)
3. All code must be written before midnight.
4. The code must be Open Source and up on Github.

Some of these rules were arbitrary. The code doesn’t technically need to be written before midnight of the day of but I wanted to avoid staying up too late writing sloppy code. Neither does the code have to be Open Source or up on Github. This just forced me to be more mindful of the code that I was writing (thinking about reusability and deciding to create modules earlier in the process).

Thus far I’ve been very successful, I’m nearing 20 weeks of consecutive work. I wanted to write about it as it’s completely changed how I code and has had a substantial impact upon my life and psyche.

With this in mind a number of interesting things happened as a result of this change in habit:

* Minimum viable code. I was forced to write code for no less than 30 minutes a day. (It’s really hard to write meaningful code in less time, especially after remembering where you left off the day before.) Some week days I work a little bit more (usually no more than an hour) and on weekends I’m sometimes able to work a full day.

* Code as habit. It’s important to note that that I don’t particularly care about the outward perception of the above Github chart. I think that’s the most important take away from this experiment: this is about a change that you’re making in your life for yourself not a change that you’re making to satisfy someone else’s perception of your work. The same goes for any form of dieting or exercise: if you don’t care about improving yourself then you’ll never actually succeed.

* Battling anxiety. Prior to starting this experiment I would frequently feel a high level of anxiety over not having completed “enough” work or made “enough” progress (both of which are relatively unquantifiable as my side projects had no specific deadlines). I realized that the feeling of making progress is just as important as making actual progress. This was an eye-opener. Once I started to make consistent progress every day the anxiety started to melt away. I felt at peace with the amount of work that I was getting done and I no longer had the over-bearing desire to frantically get any work done.

* Weekends. Getting work done on weekends use to be absolutely critical towards making forward momentum (as they were, typically, the only time in which I got significant side project coding done). That’s not so much the case now – and that’s a good thing. Building up a weeks-worth of expectations about what I should accomplish during the weekend only ended up leaving me disappointed. I was rarely able to complete all the work that I wanted and it forced me to reject other weekend activities that I enjoyed (eating dim sum, visiting museums, going to the park, spending time with my partner, etc.) in favor of getting more work done. I strongly feel that while side projects are really important they should not be to the exclusion of life in general.

* Background processing. An interesting side effect of writing side project code every day is that your current task is frequently running in the back of your mind. Thus when I go for a walk, or take a shower, or any of the other non-brain-using activities I participate in, I’m thinking about what I’m going to be coding later and finding a good way to solve that problem. This did not happen when I was working on the code once a week, or every other week. Instead that time was consumed thinking about some other task or, usually, replaced with anxiety over not getting any side project work done.

* Context switch. There’s always going to be a context switch cost when resuming work on a side project. Unfortunately it’s extremely hard to resume thinking about a project after an entire week of working on another task. Daily work has been quite helpful in this regard as the time period between work is much shorter, making it easier to remember what I was working on.

* Work balance. One of the most important aspects of this change was in simply learning how to better balance work/life/side project. Knowing that I was going to have to work on the project every single day I had to get better at balancing my time. If I was scheduled to go out in the evening, and not get back until late, then I would need to work on my side project early in the day, before starting my main Khan Academy work. Additionally if I hadn’t finished my work yet, and I was out late, then I’d hurry back home to finish it up (instead of missing a day). I should note that I’ve been finding that I have less time to spend on hobbies (such as woodblock printing) but that’s a reasonable tradeoff that I’ll need to live with.

* Outward perception. This has all had the added benefit of communicating this new habit externally. My partner understands that I have to finish this work every day, and thus activities sometimes have to be scheduled around it. It’s of considerable comfort to be able to say “Yes, we can go out/watch a movie/etc. but I have to get my coding in later” and have that be understood and taken into consideration.

* How much code was written? I have a hard time believing how much code I’ve written over the past few months. I created a couple new web sites, re-wrote some frameworks, and created a ton of new node modules. I’ve written so much I sometimes forget the things I’ve made – work from even a few weeks prior seem like a distant memory. I’m extremely pleased with the amount of work that I’ve gotten done.

I consider this change in habit to be a massive success and hope to continue it for as long as I can. In the meantime I’ll do all that I can to recommend this tactic to others who wish to get substantial side project work done. Let me know if this technique does, or doesn’t, work for you – I’m very interested in hearing additional anecdotes!

# Re: debian
linux.14
vit01(mira, 1) — krivedk0
2014-07-22 11:35:32


> Т.е systemD грешен и не GNU ?

> грешен
Это каждый для себя сам решает. Лично я отношусь к systemd скорее положительно, чем отрицательно. В отличие от других поделок Поттеринга, например, pulseaudio, systemd работает (!) и работает хорошо. А так мне система инициалиации не так принципиальна.

> и не GNU ?
Как это не GNU? Системд - это полностью свободное ПО, распространяется под лицензиями GNU GPL v2 и GNU LGPL v2.1, ну ещё MIT. ls /usr/share/doc/systemd/

# Re: debian
linux.14
vit01(mira, 1) — spline
2014-07-20 06:03:58


> Ну это нормально. Мои знакомые нелинуксоиды считаю что я со своими линуксами задрот.
То же самое. Но в моём случае это так и есть. =)

> Но я как послушаю рассказы про их тамагочи от MS, так думаю что слишком я задрот чтоб столько времени на обслуживание системы тратить =)
А иные вообще не заморачиваются - вообще не тратят время на обслуживание системы. Только вот послушаешь про их вендопроблемы - аж смешно становится. =)

> Я не против systemd, не взирая на то, что он не следует unix way и вообще ужасен как и всё, что писал Поттеринг. Я против текущей политики команды разработчиков.
Команда разработчиков - это ж не Партия =) Лично мне всё равно, что они там решили, я устанавливаю и настраиваю свою систему методом конструктора: всё вручную, как надо мне. Так что не страшно. Тем более, есть куча других дистрибутивов.

# Re: debian
linux.14
vit01(mira, 1) — spline
2014-07-19 12:30:34


> Дебиан нынче такой да. Я с Lenny не помню проблем с оборудованием в нём.
А вот моим знакомым не линуксоидам не нравится. Из-за проприетарщины, то есть её усложнённой установки.

> А ещё я так и не научился собирать пакеты для него.
На самом деле, это не так сложно, как кажется. Тем более, есть несколько способов.

# Обнаружил проблему 2038 года в ii-php
develop.16
vit01(mira, 1) — All
2016-02-22 09:05:27


Сабж
Проявится, если использовать движок MySQL.
Надо будет поменять там структуру.

# "Транспорты" для базы и PHP
develop.16
vit01(mira, 1) — All
2016-02-21 11:36:10


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

Поэтому решил реализовать абстрактный интерфейс, через который бы можно было делать любые вещи с любой базой.

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

В планах стоит сделать некую сисоп-панель, через которую можно править/удалять содержимое эх, чистить дубли и.т.д.

# Пятая сборка клиента
develop.16
vit01(mira, 1) — All
2016-02-11 06:47:20


Список изменений:
ii://kg020clPuRsXz6UjrJIu
( эха ii://ii.14 )

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

Пожалуйста, протестируйте по юзабилити.

# Четвёртая сборка клиента
develop.16
vit01(mira, 1) — All
2016-02-10 04:53:53


Исправления и улучшения можно почитать здесь:
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: Третья сборка клиента
develop.16
vit01(mira, 1) — btimofeev
2016-02-07 13:46:08


> Еще при вводе неправильного пароля при отправке сообщения не выводит ошибки. Пишет просто отправлено 0 сообщений. А, к примеру, при помытке скачать список файлов ноды выводит Error: no auth.

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

Теперь есть, с чем ещё поработать =)

# Re: Третья сборка клиента
develop.16
vit01(mira, 1) — btimofeev
2016-02-07 13:39:08


> 1. Когда загружаются сообщения процесс загрузки выводится сразу в двух окнах: основном и окне отладки. Нужно ли последнее пользователю?

Если у пользователя медленный интернет (или он через прокси сидит), то окно отладки даёт понять, что клиент не висит, а работает. Особенно во время начальных запросов индекса.

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

> 2. Когда чищу базу сообщений окно отладки находится позади окна "дополнительные полезности" и на передний план его нельзя переместить.

Про эту особенность уже знаю, но пока не задумывался, что она может мешать =)
Это как-то связано с модальностью окон, попробую с этим разобраться.

# Epic Mountain
music.14
vit01(mira, 1) — All
2019-11-03 17:30:57


Обнаружил интересного исполнителя электронной, полукосмической музыки

https://epicmountainmusic.bandcamp.com/

Эти товарищи сочиняют треки для научно-популярного ютуб-канала "Kurzgesagt - in nutshell". Поскольку на данном канале много видео про астрономию и биологию, композиторы пытаются создавать sci-fi треки с "космической", напряжённой и завораживающей атмосферой.

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

# Re: AliceTails internet radio station
music.14
vit01(mira, 1) — jmaks
2019-11-03 17:19:38


jmaks> Линк стрим-потока по которому можно уже послушать:
jmaks> http://89.189.178.52:1337/aliceradio.ogg

jmaks> M3U лист по следуюшему линку
jmaks> http://89.189.178.52/aliceradio.ogg.m3u

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

В VLC вроде всё должно пахать

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

# debian
linux.14
vit01(mira, 1) — All
2014-07-18 07:02:56


Перешёл на сабж на своём старом ноутбуке. Как ни странно, всё сразу установилось и работало (хоть ставил через debootstrap). Юзер френдли.

# Re: опрос
linux.14
vit01(mira, 1) — iiUzero
2014-07-13 13:51:01


> Как-то так (хоть и запоздало, но ii - это ж не instant message system, так?)
Как оказалось, эта эха почти целый месяц не синхронизировалась вашей нодой. Поэтому ничего страшного, беседы здесь спокойно идут =)

# Re: Debian
linux.14
vit01(mira, 1) — spline
2014-07-12 10:27:41


> Тестинг нетинсталл криво ставит груб (просто не инсталлил), груб оставил в mbr lilo, не взирая на все мои старания.
Странно, конечно, но у меня с грубом никогда проблем не было. Наверное, потому что я его устанавливаю всегда вручную. Хотя есть у меня одна флешка странная, на которую обычный grub2 ставиться никак не хочет (на любом дистрибутиве), а Grub4dos - запросто.

> но начались какие-то косяки с видеодрайвером от интел. Просто иксы падали, а по логам видно было ошибку в этом модуле.
Наверное, просто отсутствовала нужная конфигурация иксов или библиотека. С интелом проблем обычно вообще не должно быть, так как у него все драйвера открытые.

> Слака мне нравится.
Самому что ли попробовать =) Но меня пока и арч устраивает.

Лично я, когда ставлю дебиан, делаю это по арчевскому алгоритму: монтирую вручную нужные каталоги с livecd, потом беру debootstrap и вручную ставлю базовую систему, потом делаю chroot и ставлю необходимые пакеты, потом конфигурирую всё (по мануалам обычно, так как наизусть не помню), ставлю загрузчик и перезагрузка. На десктопе я, если честно, дебиан не использовал вообще =), ставил на флешки только как запасные системы (ну ещё сборку делал свою), но за убунтой прилично раньше сидел, поэтому нетрудно.

# Re: Подписи в IDEC Mobile
idec.talks
vit01(mira, 1) — Peter
2018-09-05 02:53:30


Peter> Прикольно. А как несколько строк задать?

Так и задаёшь - через Enter

+++ Отправлено через IDEC Mobile
+++ Linux rulez, Windows sucks, friendship is magic

# Подписи в IDEC Mobile
idec.talks
vit01(mira, 1) — All
2018-09-04 19:50:20


Зацените в новой сборке

Писать только чистый текст без разметки. Плюсики клиент выставит сам при отправке.

Ещё специально сделал так, чтобы при ответе на сообщение подписи не цитировались. Это позволит не захламлять переписку.

+++ Отправлено через IDEC Mobile
+++ Linux rulez, Windows sucks, friendship is magic

# До завтра
pipe.2032
vit01(mira, 1) — All
2014-07-31 16:42:35


В общем, $subj. Скажите что-нибудь на моё предложение по конкретным эхам.

# Третья сборка клиента
develop.16
vit01(mira, 1) — All
2016-02-07 07:47:21


* Решил (надеюсь) проблему с пробелами в пути к файлу.
* Exe-шники снова собираются.
* Наконец-то работает деинсталлятор.
* Русский язык в установщике.

exe доступен по той же ссылке, просьба протестировать.

# Re: Вторая сборка клиента
develop.16
vit01(mira, 1) — vit01
2016-02-06 15:45:09


В общем, у меня проблемы теперь. Решил пересобрать 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>
    run()
  File "C:\Python34\lib\site-packages\PyInstaller\__main__.py", line 90, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "C:\Python34\lib\site-packages\PyInstaller\__main__.py", line 46, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "C:\Python34\lib\site-packages\PyInstaller\building\build_main.py", line 755, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "C:\Python34\lib\site-packages\PyInstaller\building\build_main.py", line 701, in build
    exec(text, spec_namespace)
  File "<string>", line 16, in <module>
  File "C:\Python34\lib\site-packages\PyInstaller\building\build_main.py", line 212, in __init__
    self.__postinit__()
  File "C:\Python34\lib\site-packages\PyInstaller\building\datastruct.py", line 183, in __postinit__
    self.assemble()
  File "C:\Python34\lib\site-packages\PyInstaller\building\build_main.py", line 432, in assemble
    imphook_object = ImportHook(imported_name, hook_file)
  File "C:\Python34\lib\site-packages\PyInstaller\building\imphook.py", line 182, in __init__
    self._module = importlib_load_source(hook_modname, self._filename)
  File "C:\Python34\lib\site-packages\PyInstaller\compat.py", line 490, in importlib_load_source
    return mod_loader.load_module()
  File "<frozen importlib._bootstrap>", line 539, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1614, in load_module
  File "<frozen importlib._bootstrap>", line 596, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 1220, in load
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "C:\Python34\lib\site-packages\PyInstaller\hooks\hook-PyQt5.QtGui.py", line 17, in <module>
    binaries.extend(qt5_plugins_binaries('accessible'))
  File "C:\Python34\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 334, in qt5_plugins_binaries
    pdir = qt5_plugins_dir()
  File "C:\Python34\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 296, in qt5_plugins_dir
    "from PyQt5.QtCore import QCoreApplication;"
  File "C:\Python34\lib\site-packages\PyInstaller\utils\hooks\__init__.py", line 127, in eval_statement
    return eval(txt)
  File "<string>", line 1
    Unhandled exception: page fault on read access to 0x44874150 in 32-bit code (0xb74a8b66).
                      ^
SyntaxError: invalid syntax

# Re: Вторая сборка клиента
develop.16
vit01(mira, 1) — btimofeev
2016-02-06 07:12:01


Хорошо, пересоберу вечером с экранированием пробелов.

# Вторая сборка клиента
develop.16
vit01(mira, 1) — All
2016-02-05 15:39:04


Учёл некоторые замечания, подправил установщик ещё и для создания ярлыков.

Доступна по той же ссылке:
http://ii-net.tk/files/iiclient.exe

// увы, установщик работает, а деинсталлятор пока не доделал; так что если клиент мусорит, то я не виноват =)

И да, теперь сборка идёт прямо из гита, т.к. я закоммитил все изменения для совместимости.

# Re: Черновая сборка для Qt-клиента на винду
develop.16
vit01(mira, 1) — btimofeev
2016-02-05 08:39:08


tossedit.exe - это и есть тот самый внутренний редактор. Насчёт точки, видимо, специфично для винды; попробую починить, спасибо.

Попробуй вместо leafpad поставить notepad и снять галку

# Re: А если по теме
pipe.2032
vit01(mira, 1) — spline
2014-07-31 16:32:26


Ну ладно, если интересно тебе самому задачку решать - то решай :)
Но если что - обращайся.

# А вот и он, родимый
pipe.2032
vit01(mira, 1) — All
2014-07-31 15:54:59


Как и обещал, http://irk38.tk/ii/blacklist.txt

# Re: А если по теме
pipe.2032
vit01(mira, 1) — spline
2014-07-31 15:49:20


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

# Re: А если по теме
pipe.2032
vit01(mira, 1) — spline
2014-07-31 15:49:19


Тогда всё хорошо. В таком случае нам теперь надо продумать названия эх и сформировать сам гейтлист

Лично я предложу:
* ii.dev.14 и ii.soft.14 объединить в ii.soft.14. Всё равно и там, и там обсуждаем софт
* болталку назвать либо pipe.2032 как она есть сейчас, либо как-нибудь по-другому. Мне нравится название im.global.1408
* остальное взять из нашего бона + эхи Ромы типо компьютерры, RT и подобного, то есть объединить

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

# Re: Debian
linux.14
vit01(mira, 1) — spline
2014-07-08 10:37:08


Скажи хоть, в чём проблема. Как дебиан ставил, какую версию? Я всегда через debootstrap накатываю его, доустанавливаю нужные пакеты, и нормально всё.

# Re: Python и os.system
linux.14
vit01(mira, 1) — vit01
2014-07-07 12:40:38


> p.wait
p.wait()
ждёт завершения

# Re: Python и os.system
linux.14
vit01(mira, 1) — Difrex
2014-07-07 12:39:55


> А в питоне будет правильно вот так вызвать системную команду с папами?
import subprocess
p.subprocess.Popen("your-command | two command", shell=True, stdout=subprocess.PIPE)
output=p.stdout.read()
p.wait

или output,errcode=p.communicate()

# Re: Подписи
idec.talks
vit01(mira, 1) — Andrew Lobanov
2018-08-28 07:40:40


AL> Вообще, я бы взял какой-нибудь вариант типа *** как нейтральный.

В Markdown *** означает горизонтальную черту по типу <hr> (текст на той же строке не считается)

А в org-mode это заголовок в иерархии

Так что это не совсем нейтрально, как кажется

# Re: Подписи
idec.talks
vit01(mira, 1) — Andrew Lobanov
2018-08-28 06:21:15


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

AL> Может всё же использовать какой-то более другой управляющий символ?

Ну давайте тогда лисповские ;;;
Но только в самом конце. Вдруг лиспер захочет оставить комментарий в середине сообщения =)

# Re: Черновая сборка для Qt-клиента на винду
develop.16
vit01(mira, 1) — Andrew Lobanov
2016-02-05 05:27:30


AL> А. Ну я ж со своей колокольни.

Мой клиент сделан для таких людей, у которых прописано 5 и более станций, а на каждой станции по 40 эх =)
Так что ради производительности иногда приходится жертвовать удобством.

AL> PS: А где глянуть алгоритм получения сообщений?

Файл webfetch.py (и ещё network.py, если интересна работа с прокси).

AL> Как поведёт себя клиент в такой ситуации?
Он зафетчит 50 последних. Да, я знаю, что это неправильно и собираюсь пофиксить в будущем, но руки пока не доходят.
Поэтому по-умолчанию поставил лимит 200, чтобы наверняка такого не было.

# Re: Черновая сборка для Qt-клиента на винду
develop.16
vit01(mira, 1) — Andrew Lobanov
2016-02-05 05:01:31


AL> // А я в итоге без расширенного /u/e это сделал =) Теперь вот репу чешу: зачем предлагал =)

На самом деле расширенный /u/e - это более правильный подход, потому что клиенту не надо скачивать весь индекс.

При твоём способе клиент получает полный список сообщений и отсекает N локально, а при моём он сразу получает N в индексе (отсечка идёт на ноде).

На больших эхах вроде lor-opennet.15 расширение /u/e очень помогает.

AL> например, окно получения эх я бы сделал с двумя прогресс барами: кол-во эх и кол-во скачиваемых сообщений

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

Сейчас и фетчер, и мейлер, и blacklist, и сам ii_functions.py полностью совместимы с любыми другими реализациями. Например, с tk-версией. Также к iicli-modular можно без проблем прикрутить консольную или текстовую морду, и он будет работать со всеми фичами.
Фантазировал даже как-то раз прикрутить Цезий на свой движок.
Более глубокая интеграция может порушить всю эту гармонию.

Кстати, а как тебе всякие дополнительные плюшки вроде получения списка эх, блэклиста, чистки и прочего? Пробовал /x/c включать на своей ноде?

AL> но пользоваться уже можно и он уже няшен.

Спасибо, рад стараться =)

# Re: Черновая сборка для Qt-клиента на винду
develop.16
vit01(mira, 1) — Andrew Lobanov
2016-02-05 02:29:33


AL> Кстати, может сделать получение не полной эхи? А то вчера под виндой запускал (8.1 полёт нормальный), так кое как дождался загрузки эх из стандартного конфига.

Если ты включишь в настройках "Поддержку расширенного /u/e", то клиент будет скачивать только последние N.

AL> Ну и окно терминала бы скрыть ещё.

Точно, забыл. Но это с PyInstaller'ом связано, а не с самим клиентом, починю. Ты же имеешь в виду чёрную консоль питона, да?

# Re: Черновая сборка для Qt-клиента на винду
develop.16
vit01(mira, 1) — btimofeev
2016-02-04 23:21:36


А как работает? Может быть, есть какие-нибудь баги?

И да, ещё можно пожелания высказать.

# Re: Emily Wells
music.14
vit01(mira, 1) — Andrew Lobanov
2017-12-17 15:41:28


Музыка минималистичная, спокойная и с психоделикой. Исполнительница скиллованная.
Для расслабухи, рефлексии в одиночестве и "на забыться" отлично зайдёт.

> Всем музыкальной магии ^__^

На любителя, конечно, магия чё-то не сработала =) У меня музыкальные предпочтения в другую сторону завёрнуты, поэтому мне не вставило. Оно каким-то ретро попахивает, фолк-стилем, как будто заглянул в учебник истории и попытался представить картинку. Скорее всего, именно это и оттолкнуло.
// Если слушаю что-то чиллаут-подобное и наркоманское, то нравится без вокала и чисто электронное.

# Re: openbox
linux.14
vit01(mira, 1) — krivedk0
2014-07-03 08:04:59


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

# Re: openbox
linux.14
vit01(mira, 1) — krivedk0
2014-07-03 07:59:23


Арч
А если точнее, то Parabola GNU/Linux-Libre (свободная по Столлману версия арча)

# Re: openbox
linux.14
vit01(mira, 1) — krivedk0
2014-07-03 07:57:58


> Есть кто пользует openbox ?
Раньше активно пользовался им, потом перешёл на fluxbox (как на более стабильный и удобный аналог). Сейчас на Awesome

# Re: Подписи
idec.talks
vit01(mira, 1) — Difrex
2018-08-26 19:42:55


Вот пример фидошной подписи

-- 
Best regards! 
Posted using Hotdoged on Android 
--- Hotdoged/2.6/Android
* Origin: Android device, Milky Way (2:5020/2141.3)

Это жуть и неприемлемо.
Надо что-нибудь очень простое. И обязательно поставить условие, чтобы подпись была в конце сообщения, иначе в plaintext без парсера будет нечитаемо.

Меня вполне устраивает формат комментариев

// C style

Или

# bash/python style

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

Текст сообщения

# Подпись

# Re: А если по теме
pipe.2032
vit01(mira, 1) — spline
2014-07-31 14:24:08


> А что меня ждать? Я своё мнение уже высказал. Есть лишние эхи, которые было бы неплохо объеденить, есть не лишние эхи, хоть в них и мало сообщений.
Вопрос стоит в объединении бона, и это нужно решать вместе. Поодиночке это решать я не могу, потому что наши ноды всё-таки связаны общими эхами. Если нет - то нет, если да - то да. У нас сеть всё-таки, и тут надо договариваться.

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

> Быть и форумом и ii-нодой одновременно стремиться не надо как по мне. Не надо тащить старые привычки, но надо показать что есть удобные решения уже в стандартной реализации.
Речь не в этом. Поскольку тематика и всё остальное не страдает, то объединять болталки не есть плохо. Ну и пару эх ещё. Если будем делать, то надо согласовать названия и список.

# Re: А если по теме
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 11:46:34


> изначально тут и были такие суперэхи, где весь народ, в основном, и вёл основные беседы - im.1404, затем im.1406.
Если ты имеешь в виду это, то я согласен. Ждём spline

# Дубли
pipe.2032
vit01(mira, 1) — All
2014-07-31 11:45:43


Автоматика подсчитала, что в эхе lor-opennet количество дублей составляет примерно 45% от числа всех сообщений. Блэклист опубликую уже сегодня. Подсчёт производился по сабжам.

# Re: А если по теме
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 11:18:29


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

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

> Это, конечно, хорошее предложение, учитывая, что с точно такого же моего предложения весь этот разговор и начался.
Как мне показалось, ты начал с предложения "убить всю тематику и оставить только 2 эхи, в которые и только в которые все писать будут".
Если тематика не пострадает и останется на гейтовании, то я не против. Нужно только с названиями конкретных эх договориться. И spline пусть тоже выскажется.

# Черновая сборка для Qt-клиента на винду
develop.16
vit01(mira, 1) — All
2016-02-04 14:18:13


Сделал через NSIS самым простым способом, какой только был. Это просто для теста, что оно работает.

Посмотрите, пожалуйста, что оно вообще запускается.

http://ii-net.tk/files/iiclient.exe

# Re: Wine и Python
develop.16
vit01(mira, 1) — btimofeev
2016-02-04 00:48:06


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

# Re: Wine и Python
develop.16
vit01(mira, 1) — vit01
2016-02-03 14:13:38


Хорошие новости. Удалось завести pip и PyInstaller. Удалось скомпилировать всё в ехе-шники. Дефолтный редактор работает. Даже кракозябры теперь ясно, как убрать, в ближайшие дни этим займусь.

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

А, и да, ещё как-то установщик сделать и ярлык в меню "Пуск". Здесь я даже не знаю, в какую сторону копать.

# Re: Wine и Python
develop.16
vit01(mira, 1) — Difrex
2016-02-03 10:52:38


Difrex> Нужен человек с виндой.

Это ясно, но разве у нас такие водятся?

# Re: Сценерская музыка
music.14
vit01(mira, 1) — Andrew Lobanov
2017-09-12 14:01:59


AL> К миксам имеется cuesheet, но если есть вариант рабивания mp3 без перекодирования

У ffmpeg есть опция в параметрах командной строки "-acodec copy". Это как раз любые манипуляции без перекодирования потока.

А ещё могу посоветовать полезную утилиту cue2tracks. То же самое, только более автоматизированно. Но там с перекодированием разобраться надо (не очень очевидно в help'е).

# Re: Еще про гном
linux.14
vit01(mira, 1) — Difrex
2014-06-27 09:08:52


> Вот, кстати, не понял почему его ругают. Может для работы он и не сильно подходит, но для неторопливого серфинга и кодинга - отлично!
За планшетный стиль, за ориентированность на мышку/тачскрин, а не клавиатуру, за плохую настраиваемость. Лично меня предыдущие пункты не смущают, но мне не нравится ужасная производительность: гном реально тормозит, и всё это из-за "прикрученного гвоздями" композитинга, без которого оболочка работать не может.

# Wine и Python
develop.16
vit01(mira, 1) — All
2016-02-03 04:16:05


Запустил питон под вайном. Еле-еле он работает. PyQt, как ни странно, тоже работает. И клиент запустился. Правда, там сообщения все в кракозябрах (и дефолт-редактор не работает), но всё же.

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

>C:\Python34\Scripts\pip.exe
Fatal error in launcher: Job information querying failed

Пришлось убрать (или поменять) в нескольких местах вызовы locale.setlocale, иначе выдавалась ошибка.

# Re: Сценерская музыка
music.14
vit01(mira, 1) — Andrew Lobanov
2017-09-12 12:44:22


AL> Имеется чем поделиться в плане сабжа, но там весьма толстые миксы в mp3 (от 40 до 150 мегабайт на файл). Имеет ли смысл лить это в феху или лучше выложить на фреки?

Скорее поддержу фэхи, потому что их популярность надо развивать.

Шаг 1: разбей микс на части. Можно либо через ffmpeg, либо втупую через утилиту split (она есть в составе Coreutils и Busybox). Вариант с ffmpeg проще для мобилок, потому что скачанный файл можно сразу послушать.

Шаг 2: сожми в tar.xz

# Re: Bash и Python развращают мозг
develop.16
vit01(mira, 1) — vit01
2016-01-14 12:26:13


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

# Re: Товарищам нодам посвящается
pipe.2032
vit01(mira, 1) — szia
2014-07-31 10:36:57


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

> у ii, как я понимаю, нет ни одной проблемы, которые вы вместе (вроде) сейчас пытаетесь решить
зато они есть у двух разных версий ii, которые делают Роман и вы: хочется и лепить по-своему, и сохранять совместимость в то же время, потому что пойнтов слишком мало, чтобы их делить, да и самим скучно будет (ведь вы же единомышленники, как ни крути)
Не совсем. Проблема в том, что гейтуемых эх между нашей сетью и вашей немного - только тематика. Иногда требуется налаживать контакт между нашими и вашими поинтами. Чтобы общение было объединённым, надо делать списки гейтуемых эх общими для всех сетей и станций. Вот и всё.

# А если по теме
pipe.2032
vit01(mira, 1) — All
2014-07-31 10:36:56


Если мы сделаем только 2 "суперэхи", в которых будут люди водиться, то это убьёт большинство тематики и принцип "отпишись и не читай".
Получается, что если общение будет концентрироваться в одном месте, то если отписаться от суперэхи, то от человека ускользает вся информация.

Привожу пример нынешнего случая:
* если мне не нравится болтовня линуксоидов и бздшников, то я отписываюсь от lor-opennet, obsd* и linux.14.
* если мне не нравится кино и/или спорт, я отписываюсь от киноэх и спортивных эх
* но основная информация и что-то другое от меня не ускользает, потому что на другие эхи и болталку подписан

В случае суперэх:
* предположим, мне не нравятся разговоры о разработке клиентов, но нравится музыка/спорт/кино
* но всё это обсуждается в одной и той же эхе
* если отписываюсь от этой эхи, то теряю всю информацию: и нужную, и ненужную мне

Это были минусы.
Что конкретно могу предложить я:
1. объединяем эхи ii.soft.14 и ii.dev.14 в какую-нибудь одну эху и гейтуем её
2. меняем разные локальные болталки на одну глобальную болталку и гейтуем. Пример: замена болталок im.1407 и im.100 на одну и ту же pipe.2032 либо на другую с более симпатичным названием
3. тематические эхи оставляем теми же самыми и гейтуем по всей сети, суммируя на всех станциях, заполняя недостающее

# Re: Дубликаты в idec mobile
idec.talks
vit01(mira, 1) — Difrex
2018-08-25 20:10:01


Difrex> ii://IUBOUMk9n96nGAOH1rs3 вот это вот сообщение загрузилось три раза. И отображается с одним и тем же id три раза. Странно.

То, где ссылка на Medium?

У меня вот отображается трижды сообщение, которое следует прямиком за ним
Где "черепаха следует за птицей"
В repto они действительно ссылаются на одну и ту же мессагу, но собственное id у них разное. Жирным цветом в IDEC Mobile отображается именно repto, а не msgid.

Товарищ Anotheroneuser отправил несколько раз одно и то же сообщение

# Re: Товарищам нодам посвящается
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 10:36:56


> У vit01 позиция "нам не нужны новые люди, а то вдруг придёт страшный незнакомец, скажет *пиписка*, и потом инфаркту на три дня".
Не совсем. Но суть ты уловил =)

> Собственно, можно просто пригласить пойнтов и нодов, которые не поддерживают такую политику, в нашу сеть, и оставить их в покое. А можно гейтоваться. Мы сначала попробуем второе. :)
Уу, а я-то подумал, что у нас объединение теперь идёт, поскольку гейтование половины эх уже присутствует...

# Re: Подписи
idec.talks
vit01(mira, 1) — Peter
2018-08-23 08:03:10


>> Зачем её оговаривать? Предлагаю самый простой вариант - дописывание в конец сообщения любого текста на выбор.
>> А формат поинт пусть сам выбирает

Peter> А мне нравился "чистый" idec =) Но, понятное дело, как опция -- почему бы и нет.

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

# Re: Подписи
idec.talks
vit01(mira, 1) — Andrew Lobanov
2018-08-23 08:03:11


AL> Ну было бы неплохо как-то визуально отделять подпись от текста сообщения. Например, подкрашивать цветом, как это принято в фидошном софте.

AL> Типа как ориджин сделать. Строка, начинающаяся с *** подкрашивается и является подписью =)

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

Я подумываю отделять подписи от основного текста горизонтальной линией и затемнить (как метаданные наверху рядом с сабжем)

# Re: Bash и Python развращают мозг
develop.16
vit01(mira, 1) — Andrew Lobanov
2016-01-13 13:26:19


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

Хотел выразить предыдущим сообщением всё-таки немного другое. Суть не в том, что баш и питон плохие (сабж слишком провокационный), а то, что мне уже надоело писать скрипты/ноды/клиенты для ii (всё равно они уже юзабельные и хорошо работают), хочется чего-то нового и другого, не на этих языках.

И ещё то, что излишний комфорт препятствует самообразованию.

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

# Bash и Python развращают мозг
develop.16
vit01(mira, 1) — All
2016-01-12 14:32:36


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

Как известно, лень - двигатель прогресса. И именно поэтому часто приходится писать всяческие скрипты и полезные штуки, чтобы уменьшить количество рутинных действий за компьютером.
Казалось бы, имеется куча интересных языков программирования, с помощью которых можно хорошо повеселиться, получить удовольствие и необычный опыт в процессе написания скриптов. Но нет же: лень диктует своё, поэтому руки невольно тянутся к тому, что сразу работает. А с помощью чего можно быстро сделать всё, что угодно? Правильно - с помощью баша и питона. Пять строк простого, незамысловатого кода, и результат достигнут!
В этом месте лень начинает работать против человека. Зачем переписывать (и, главное, начинать писать) эти штуки на других языках, если всё и так работает? Зачем лишний раз напрягать мозг? Вот здесь и начинается разврат.
Путь к излечению трудный и долгий; придётся иметь дело с ломками, как у наркоманов. Надо каким-то образом загонять себя в жёсткие рамки используемых ресурсов и отказываться от привычных технологий в пользу самообразования. Создать себе на ЭВМ аскетичное рабочее окружение без всяких "плюшек" и пытаться в нём выживать.
В общем, перестать себя баловать всякими фичами и реализовать эти фичи самому.

P.S. Извините за такой душевный выброс, но просто не получается держать это внутри

# Re: split-sequence
develop.16
vit01(mira, 1) — Andrew Lobanov
2016-01-02 04:28:07


Так или иначе, попробовал набросать подобную функцию сам.
Скорее всего, это г...код, но всё же:

(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 "")))))
				(if (= i (1- len))
					(setq result (append result (list (subseq str j len)))))))
	
		(if (equal save-empty nil) ; убираем пустые строки, если они не нужны
			(setq result (loop for s in result when (not (string= s "")) collect s)))
		result))

(defun dotest (vals)
	(dolist (s vals) (print (apply #'split (eval s)))))

(dotest '((list "/x/features/" "/") ; проверяем, что всё верно работает
			(list "/ffggg/kikj//kjjj///" "/" :save-empty t)
			(list "x/features" "/")))

// укажите кто-нибудь на недочёты, пожалуйста

# Re: split-sequence
develop.16
vit01(mira, 1) — Andrew Lobanov
2015-12-30 08:02:46


// ура, наконец-то кто-то из "своих" появился в ii =)

AL> split-sequence я взял потому что проще взять готовое. Вот если бы отказаться от drakma или hunchentoot это да, в split-sequence маленький и не критичный.

hunchentoot, насколько слышал, присутствует в репозиториях дебиана (и, скорее всего, других дистрибутивов). Так что чем меньше посторонних зависимостей, тем проще будет отказаться именно от quicklisp, а не от самого нужного.

# Re: We need the doctor
music.14
vit01(mira, 1) — Andrew Lobanov
2017-07-12 14:13:22


Оо, годнота подъехала :)

Причём именно в твоём, воздушном стиле. Утащу в плейлист

# split-sequence
develop.16
vit01(mira, 1) — Andrew Lobanov
2015-12-27 15:55:50


Вопрос Андрею, как знатоку CL.

Заглянул тут в код iicl и задумался: а зачем же использовать сабж? Для нужд ii вполне можно взять какую-нибудь самописную функцию и не тянуть лишние зависимости через quicklisp.
Или дело в каких-нибудь заморочках с производительностью?

# Re: Товарищам нодам посвящается
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 08:19:48


>А мы не на формальные признаки смотрим, а на плоды творчества...
Клиенты да php нода? Ну ещё парочка стандартов и документация. Что в этом плохого?

# Re: Подписи
idec.talks
vit01(mira, 1) — Andrew Lobanov
2018-08-23 06:54:00


vit01>> Собираюсь прицепить подписи в андроид-клиенте скоро
vit01>> Народ хочет фичу, значит будет

AL> Ну значит пора в цезии вводить шаблоны =)
AL> Может оговорим разметку для подписей?

Зачем её оговаривать? Предлагаю самый простой вариант - дописывание в конец сообщения любого текста на выбор.

А формат поинт пусть сам выбирает

# Re: ii-ссылки (Тест)
idec.talks
vit01(mira, 1) — Anotheroneuser
2018-08-13 12:41:42


Anotheroneuser> Меня переслало на ii://7Hbzt0ovAYawN7jvPJUz

Всё правильно, так и должно было быть
Просто хотел подумать насчёт фичи более удобной навигации по ссылкам

IDEC Mobile поддерживает открытие ii:// ссылок на системном уровне. То есть из любого приложения (например, из браузера) можно сослаться на определённую эху или сообщение.

Сначала я тестировал этот механизм через KDEConnect. Но потом подумал, что можно сделать ещё проще и удобнее

Решил, что можно для каждого сообщения в веб-интерфейсе сделать кнопочку "прочитать на телефоне", чтобы легко через тот же QR-код можно было взять и дочитать длинную простыню текста.

Сначала попробовал просто закодировать ii:// ссылку в виде QR и отсканировать. Это вполне себе срабатывает, но только не для всех QR-сканеров (многие из них воспринимают ссылки как plaintext, а не как URI)

А потом придумал, что можно сделать браузерную ссылку, как поступает Google Play, Telegram и многие другие. Кидаем QR-код с обычной "браузерной" ссылкой. Если у человека уже установлен IDEC Mobile, то сразу запустится клиент с нужным контентом.

// на декстопе аналогично, если будет поддержка со стороны десктопных клиентов

Если IDEC-софт не стоит, то сообщение просто откроется в браузере на одной из станций.

----------

Можно идти и в обратную сторону. Сделать в IDEC Mobile кнопочку "поделиться ссылкой". Тогда, имея тот же KDEConnect или другое средство передачи информации по сети, можно легко реализовать юзкейс "продолжить чтение на десктопе"

# Re: А куда сейчася выкладывать музыку?
music.14
vit01(mira, 1) — Difrex
2017-06-30 04:51:22


Difrex> Куда ща грузят музыку все продвинутые чуваки? Под СС разумеется.

SoundСloud, Bandсamp, FreeMusicArchive (правда, не очень популярный сервис)

# Металлист из металла
music.14
vit01(mira, 1) — All
2017-06-04 10:29:32


Ходил сегодня по своим делам по мелкой незнакомой улице и увидел вот это произведение современного искусства. Приятно удивился.

https://ii-net.tk/ii/files/IMG_20170604_145742.jpg

# Читаю тут PCL
develop.16
vit01(mira, 1) — All
2015-12-19 15:47:37


Сабж вполне подробный и нескучный.

Как прочитал "историю про макросы" отсюда https://github.com/pcl-ru/pcl-ru/blob/master/chapter-08.tex , впервые за день искренне улыбнулся =)

А функциональный подход лиспа всё-таки ломает неокрепшие мозги.
Кстати, а почему в Common Lisp есть общие макросы and, or, not, но при этом xor доступен только через logxor и подобные ему?

# Re: LISP
develop.16
vit01(mira, 1) — Andrew Lobanov
2015-12-03 16:10:47


> PS: Я рекомендую почитать первую главу PCL (Practical Common Lisp).

Спасибо за направление. Взял PDF в другом месте, буду читать теперь.

# Re: LISP
develop.16
vit01(mira, 1) — Andrew Lobanov
2015-12-02 14:51:56


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

Хотел бы узнать, какие биндинги/API/стандартные либы общие у всех диалектов. А то по синтаксису общие моменты есть, но в остальном всё у всех своё.

AL> Нативный бинарь у лиспа это очень своеобразная штука. По крайней мере у SBCL. Это по своей сути упакованная в один файл лисп-машина и core dump всего загруженного на момент "компиляции". В итоге бинари толстые.

Embeddable Common Lisp умеет переводить свой код в сишные файлы, компилируемые GCC. Хотя сколько не пытался, всё сегфолты и ошибки линковки.

# Re: Gnome 3
linux.14
vit01(mira, 1) — Difrex
2014-06-16 02:52:10


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

# Re: 3.15.0
linux.14
vit01(mira, 1) — 51t
2014-06-09 16:40:25


> тогда или отлучение, или в openbsd team :) третьего не дано :)
Меня только что в Альтлинукс team пригласили, буду пакеты собирать для ii :) . Кстати, они почему-то ii-php добавили вместо ii-python. Ничего, завтра напишу, разберёмся.

> angband поставь! :) самое то :) если ты и в конфиге нашёл что-то интересное, то на 22 этаже подвала тем более найдёшь :)
Поставил, но пока что-то неинтересно :)

> или в openbsd поиграй.
А в openbsd с удовольствием поиграю. Надо только места на диске освободить.

# Re: ii-ссылки (Тест)
idec.talks
vit01(mira, 1) — Difrex
2018-08-13 08:02:10


В общем, пофиг пока на QR

Откройте вот эту ссылку на смартфоне

https://ii-net.tk/ii/test1.html

Ну а для теста сканера можно вот тут попробовать: https://ii-net.tk/ii/qr.png

ascii-art-QR коды иногда могут не открываться при плохом освещении

# ii-ссылки (Тест)
idec.talks
vit01(mira, 1) — All
2018-08-13 06:00:48


Прошу отсканировать на Android-смартфоне QR-код ниже.
Фишка должна сработать, если установлен IDEC Mobile и есть интернет

// если клиент покажет пустое сообщение, то Меню -> Обновить с сервера

Сообщаем в ответе, кто что увидел


█▀▀▀▀▀█ █▀▄▀▄ ▀▀▄ █▀▀▀▀▀█
█ ███ █ █▀ ██▄█ █ █ ███ █
█ ▀▀▀ █ ▄▀▄▀▄▄█▀▀ █ ▀▀▀ █
▀▀▀▀▀▀▀ ▀▄█▄▀ █▄▀ ▀▀▀▀▀▀▀
██▄ ▀█▀▄▄▄ █▀ ▄▄█  ▀▄█▀█▀
▀ ▄▀▀▄▀ ▄ ▄▀▄ ▄▀▀▀▀▀▄▀█▄ 
██ █ ▄▀ ▀▄▀██ ██  ▀▀▄▀▀█▀
  ▀ ▀ ▀▀▄▄ █▀▀██▀ ▀██▀█▄ 
▀▀ ▀▀ ▀ █▀ ▄▄▄ ▄█▀▀▀█▀▀  
█▀▀▀▀▀█ ▄ ▄█▄ ▀ █ ▀ █▄▄ ▄
█ ███ █ ▀█▄▄ ▄▄▄▀███▀▀██▄
█ ▀▀▀ █ ▄▄█▀▀ █▄▀▀█▄▄█▄█ 
▀▀▀▀▀▀▀ ▀ ▀    ▀      ▀▀▀

# Ноды и интеграция
idec.talks
vit01(mira, 1) — All
2018-08-12 11:27:11


Решил посмотреть, чё творится на ноде
Прокинул все эхи из std.* (раньше была только std.club)

Обнаружил старый скрипт для регистрации, который свою функцию по факту не выполнял :)

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

# Re: IDEC Mobile
idec.talks
vit01(mira, 1) — Peter
2018-08-09 03:28:51


>> Обновил клиент, баг должен больше не появляться (хотя бы в режиме чтения)

Peter> почему то в этот раз и текущая версия у меня не падала....

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

Вариант тестирования - зайти в андроиде в настройки разработчика и снизить лимит одновременно запущенных процессов до 1-2 (для повседневного использования лучше так не делать)

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

# Re: дубли в txt.drafts.14
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 06:11:07


У меня они уже давно в чёрном списке

# Re: Товарищам нодам посвящается
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 06:07:12


>А вообще, это, по-моему, gadfly сам тут как-то заявил, что вы - это тёмная сторона :)
Может быть, и тёмная, но не злая же :) Мы тут не обижаем никого.

# Re: IDEC Mobile
idec.talks
vit01(mira, 1) — Peter
2018-08-08 20:30:34


Peter> Как бы починить клиент, чтоб не вылетал после выхода из фона? Это единственное, что мешает им наслаждаться. :)

Обновил клиент, баг должен больше не появляться (хотя бы в режиме чтения)

Также для Андрея починил обработку смешанных цитат

// Эти багофиксы клиента стоили мне 3,5 часов нервов
// Для вас же стараюсь, так что тестировать всем обязательно!

# Re: 3.15.0
linux.14
vit01(mira, 1) — 51t
2014-06-09 16:19:38


> Ничё без надобности не компилируйте, ничё не оптимизируйте, конфиги ядра не меняйте под страхом отлучения. :)
А если мне просто интересно компилировать, оптимизировать и копаться в конфигах? Ну нравится и всё, хобби у меня это такое :)
Если бы не нравилось это делать, сидел бы себе на каком-нибудь дебиане, альте или убунте. И да, игр у меня на компьютере нет, поэтому играюсь с конфигами и компиляциями :)

# Re: 3.15.0
linux.14
vit01(mira, 1) — gadfly
2014-06-09 15:57:18


> Почему бы и нет, за счет работодателя-то? :)
Ага, был бы у меня комп мощный, я бы, наверное, тоже генту поставил. А так у меня уже есть, где ядро компилять. Сервер-то тоже не мой.

# Re: 3.15.0
linux.14
vit01(mira, 1) — gadfly
2014-06-09 15:43:04


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

# Re: 3.15.0
linux.14
vit01(mira, 1) — gadfly
2014-06-09 15:37:27


>> на сервере
>> на нетбуке
> This
Ну всё правильно же. На нетбуке ядро собирается 1 час 40 минут, а на сервере 15-20 минут. Я что-то неправильно сказал?

# Re: Товарищам нодам посвящается
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 04:04:05


>О том, чтобы пойнты с доброй половины сети могли поболтать с пойнтами со злой.
По каким критериям ты относишь нас ко злой половине? Мы также сказать по вас можем.

# Re: вынесенное обсуждение
pipe.2032
vit01(mira, 1) — 51t
2014-07-31 04:01:45


>Зачем сразу за всех решать, что никому это не нужно и неинтересно.
За всех я не решал. Просто своё мнение высказал.

# Re: IDEC Mobile
idec.talks
vit01(mira, 1) — Andrew Lobanov
2018-08-06 15:05:18


AL> Приходится руками править постоянно, так как в вебморде цитируют по старинке.

А как правильно? Варианты

1. Убирать пробел и получать в итоге Peter>>
2. Цитировать без имени конкретно эту строчку >>

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14