gentoo.ru
Общение на окологентушные темы
gentoo@conference.gentoo.ru
Среда, 6 мая 2015< ^ >
winterheart установил(а) тему: Gentoo Linux || FAQ: http://www.gentoo.ru/faq || Вставки более 3 строк → app-text/wgetpaste || Логи: http://gentoo.ru/jabber/logs/ || Языками чешут в talks@conference.gentoo.ru ||  Фортунки http://fortunes.gentoo.ru || Gentoo.RU переехал целиком на Yandex || Gentoo Iron Penguin
Конфигурация комнаты
Участники комнаты

GMT+3
[00:13:15] bober2000 вышел(а) из комнаты
[00:55:01] <0xd34df00d> Civilian: я тут решил поковыряться во внутренностях qsettings.
[00:55:14] <0xd34df00d> Функция синхронизации файла — 224 строки каких-то макарон.
[00:55:18] <0xd34df00d> Не удивлён их поведением
!
[00:57:54] <Civilian> 0xd34df00d: ))))
[01:45:03] olegon вышел(а) из комнаты
[03:22:53] <0xd34df00d> Civilian: вот, уж коли с тобой обсуждали. Накостылял такую фигню для сохранения бэкапов перед записью в файл (и их удаления после успешного синка): https://bpaste.net/show/cbf1a7550743
[03:24:32] <0xd34df00d> Если заменить copy на rename (оно там закомментированное), то qsettings ломается даже с локом.
[03:24:39] <0xd34df00d> Ибо доступ вполне себе к одному файлу может быть многопоточным.
[03:24:40] <0xd34df00d> ЧЯДНТ?
[03:54:30] fsteinel вышел(а) из комнаты: Disconnected: closed
[04:09:13] reonaydo вошёл(а) в комнату
[04:12:12] 0xd34df00d вышел(а) из комнаты: Client went to sleep
[05:10:02] ruda вошёл(а) в комнату
[05:12:46] ruda вышел(а) из комнаты: Replaced by new connection
[05:12:56] ruda вошёл(а) в комнату
[05:14:23] ruda вышел(а) из комнаты: Replaced by new connection
[05:14:33] ruda вошёл(а) в комнату
[05:25:00] ruda вышел(а) из комнаты: Replaced by new connection
[05:25:10] ruda вошёл(а) в комнату
[05:26:40] ruda вышел(а) из комнаты: Replaced by new connection
[05:26:50] ruda вошёл(а) в комнату
[05:39:11] ruda вышел(а) из комнаты: Replaced by new connection
[05:41:13] ruda вошёл(а) в комнату
[06:04:34] krigstask вышел(а) из комнаты
[06:04:51] krigstask вошёл(а) в комнату
[06:07:21] ruda вышел(а) из комнаты
[06:19:12] beelzebubbie вошёл(а) в комнату
[06:20:21] ruda вошёл(а) в комнату
[06:26:55] ruda вышел(а) из комнаты: Replaced by new connection
[06:27:05] ruda вошёл(а) в комнату
[06:35:08] Desu вошёл(а) в комнату
[06:35:47] ruda вышел(а) из комнаты: Replaced by new connection
[06:35:57] ruda вошёл(а) в комнату
[06:41:23] Desu вышел(а) из комнаты
[06:43:03] ruda вышел(а) из комнаты: Replaced by new connection
[06:43:13] ruda вошёл(а) в комнату
[06:49:17] ruda вышел(а) из комнаты: Replaced by new connection
[06:49:27] ruda вошёл(а) в комнату
[06:59:56] olegon вошёл(а) в комнату
[07:00:09] ruda вышел(а) из комнаты: Replaced by new connection
[07:00:19] ruda вошёл(а) в комнату
[07:08:18] ruda вышел(а) из комнаты: Replaced by new connection
[07:08:28] ruda вошёл(а) в комнату
[07:17:47] ruda вышел(а) из комнаты: Replaced by new connection
[07:17:57] ruda вошёл(а) в комнату
[07:24:49] ruda вышел(а) из комнаты: Replaced by new connection
[07:24:59] ruda вошёл(а) в комнату
[07:34:48] conformist вошёл(а) в комнату
[07:41:35] ruda вышел(а) из комнаты: Replaced by new connection
[07:41:45] ruda вошёл(а) в комнату
[07:47:07] ruda вышел(а) из комнаты: Replaced by new connection
[07:47:17] ruda вошёл(а) в комнату
[07:55:57] ruda вышел(а) из комнаты: Replaced by new connection
[07:56:07] ruda вошёл(а) в комнату
[08:05:43] maksbotan вошёл(а) в комнату
[08:11:00] ruda вышел(а) из комнаты: Replaced by new connection
[08:11:10] ruda вошёл(а) в комнату
[08:15:57] slepnoga вошёл(а) в комнату
[08:22:13] ruda вышел(а) из комнаты: Replaced by new connection
[08:22:23] ruda вошёл(а) в комнату
[08:26:28] maksbotan вышел(а) из комнаты
[08:31:44] ruda вышел(а) из комнаты: Replaced by new connection
[08:31:54] ruda вошёл(а) в комнату
[08:40:02] ruda вышел(а) из комнаты: Replaced by new connection
[08:40:12] ruda вошёл(а) в комнату
[08:53:17] ruda вышел(а) из комнаты: Replaced by new connection
[08:53:27] ruda вошёл(а) в комнату
[09:23:36] slepnoga вошёл(а) в комнату
[09:25:36] Civilian вышел(а) из комнаты
[09:44:55] ruda вышел(а) из комнаты: Replaced by new connection
[09:45:05] ruda вошёл(а) в комнату
[09:55:18] <slepnoga> Цивил - http://dpaste.com/0H2DCNT
[09:55:36] <slepnoga> вот такие вещи просто убивают в нагиосе
[10:08:33] ruda вышел(а) из комнаты: Replaced by new connection
[10:08:43] ruda вошёл(а) в комнату
[10:17:03] Desu вошёл(а) в комнату
[10:17:44] bober2000 вошёл(а) в комнату
[10:18:12] bober2000 вошёл(а) в комнату
[10:18:22] bober2000 вышел(а) из комнаты
[10:20:50] bober2000 вышел(а) из комнаты: Replaced by new connection
[10:21:00] bober2000 вошёл(а) в комнату
[10:22:21] Civilian вошёл(а) в комнату
[10:29:25] ruda вышел(а) из комнаты: Replaced by new connection
[10:29:35] ruda вошёл(а) в комнату
[10:42:43] ruda вышел(а) из комнаты: Replaced by new connection
[10:42:53] ruda вошёл(а) в комнату
[10:57:38] eegorov вошёл(а) в комнату
[11:01:32] <slepnoga> Civilian: <slepnoga> Цивил - http://dpaste.com/0H2DCNT
[11:10:42] <Civilian> slepnoga: а?
[11:10:54] <Civilian> slepnoga: эм... а зачем так?
[11:11:52] <Civilian> а... понял. А чем убивают?
[11:11:59] <Civilian> slepnoga: и я б иначе сделал )
[11:13:26] <Civilian> ret = [ (0, "license active"), (2, "license inactive"), (2, "could not resolve hostname"), ("could not load license page") ]
r, msg = ret[numeric]
print(msg)
sys.exit(r)
[11:13:31] <Civilian> что-то в таком духе
[11:13:46] <Civilian> нафига писать OK и Critical если exit code сам добавит это?
[11:14:04] <Civilian> а, ну у последнего элемента массива забыл exit code дописать )
[11:25:50] ruda вышел(а) из комнаты: Replaced by new connection
[11:26:00] ruda вошёл(а) в комнату
[11:37:15] <Civilian> 0xd34df00d: ваще странно - а как оно ломается?
[11:45:58] ruda вышел(а) из комнаты: Replaced by new connection
[11:46:08] ruda вошёл(а) в комнату
[12:14:28] ruda вышел(а) из комнаты: Replaced by new connection
[12:14:38] ruda вошёл(а) в комнату
[12:18:55] <0xd34df00d> Civilian: qsettings сохраняется тупо во временный файл с именем вроде ConfigFile.conf.X177174
[12:18:56] <0xd34df00d> И всё.
[12:20:39] 0xd34df00d вошёл(а) в комнату
[12:24:39] invertor вошёл(а) в комнату
[12:26:56] Night Nord вошёл(а) в комнату
[12:32:53] <Civilian> 0xd34df00d: весело...
[12:33:04] <Civilian> 0xd34df00d: и временный файл убивается или нет?
[12:47:02] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[12:47:12] 0xd34df00d вошёл(а) в комнату
[12:47:15] CarelessChaser вошёл(а) в комнату
[12:55:49] <0xd34df00d> Civilian: неа.
[12:56:04] <0xd34df00d> Весело с этими бекапами, я ж говорю.
[12:56:31] <0xd34df00d> А с копированием все весьма тормозит.
[12:56:44] <0xd34df00d> Надо копию тоже fsync'ать, наверное.
[13:06:31] <Civilian> 0xd34df00d: с копированием печально, ага
[13:14:21] ruda вышел(а) из комнаты: Replaced by new connection
[13:14:31] ruda вошёл(а) в комнату
[13:19:17] fsteinel вошёл(а) в комнату
[13:20:42] <0xd34df00d> Civilian: щито поделать. Похоже, из соседнего треда qsettings тоже лезет модифицировать этот эе файл и удивляется, что он пропадает.
[13:20:58] <0xd34df00d> Не понимаю, правда, почему лок не помогает.
[13:28:48] reonaydo вышел(а) из комнаты: Отключён
[13:31:21] L29Ah вошёл(а) в комнату
[13:43:27] <Civilian> 0xd34df00d: скорее всего оно открыло файл и нишмагло закрыть
[13:43:32] <Civilian> посмотри у процесса в fd'шках
[13:43:37] <Civilian> хотя поведение очень странное
[13:45:27] <0xd34df00d> Не могу точно поймать этот момент.
[13:45:35] <0xd34df00d> Да и реализация qsettings файл тоже лочит.
[13:45:40] <0xd34df00d> Так что я ничего не понимаю.
[13:55:42] beelzebubbie вышел(а) из комнаты
[13:57:21] L29Ah вышел(а) из комнаты
[14:09:42] ruda вышел(а) из комнаты: Replaced by new connection
[14:09:52] ruda вошёл(а) в комнату
[14:11:05] DeadEye вошёл(а) в комнату
[14:13:40] <DeadEye> Всем привет. Чисто теоретический вопрос.
Будем считать, что весь трафик у нас отправляется по HTTPS. У провайдера (неважно, какого, тем более это теория) стоит DPI.
Пользователь вышел в сетку и зашел на любой сайт. Может ли провайдер и DPI каким-либо образом определить, что это за сайт и какая именно страница открыта? И зависит ли это от используемой реализации SSL/TLS (если тот используется, конечно)?
[14:13:48] slepnoga вышел(а) из комнаты
[14:14:14] <DeadEye> Считаем, что Tor и VPN не юзаются.
[14:14:22] slepnoga вошёл(а) в комнату
[14:14:43] <Civilian> DeadEye: законным способом нет.
[14:14:50] <Civilian> DeadEye: незаконным - теоретически может
[14:15:00] <slepnoga> IP определяется без dpi
[14:15:04] <Civilian> DeadEye: точнее про законность с точки зрения законодательства РФ я не знаю
[14:15:10] <Civilian> slepnoga: но IP часто не очень много может сказать
[14:15:15] <Civilian> SNI же никто не отменял
[14:15:23] <Civilian> или непрописанную обратную запись
[14:15:32] <Civilian> или прописанную, но от CDN/балансировщика
[14:15:35] <DeadEye> Civilian: законность в данном случае не особо важна. Теория же.
[14:15:51] <slepnoga> если только Mtim
[14:15:55] <Civilian> DeadEye: теория - нога сказал что по IP можно сопоставить, но не работает в случаи SNI, CloudFlare и пр.
[14:16:00] <Civilian> а дальше, да, MITM
[14:16:13] <Civilian> теоретически можно сохранять сессии и при очень слабых алгоритмах - шифровать
[14:16:15] <slepnoga> no хром и моцилла имею средства защиты от этого
[14:16:21] <Civilian> можно еще делать по китайскому стилю
[14:16:25] <slepnoga> для больших сайтов
[14:16:37] <DeadEye> Civilian: а что у нас MITM предполагает?
[14:16:41] <slepnoga> DeadEye: ЦП решил занятся ?
[14:16:52] <DeadEye> slepnoga: нет.
[14:16:58] <Civilian> DeadEye: можно теоретически ставить на паузу соединение и делать гет запрос туда самому
[14:17:04] <Civilian> и смотреть куда редирект
[14:17:05] <DeadEye> Хотя ты мне все равно не поверишь %)
[14:17:19] <Civilian> DeadEye: митм да, некоторые провайдеры требуют свой ца добавлять в доверенные
[14:17:32] <DeadEye> Civilian: а, подмена сертификата?
[14:17:39] <slepnoga> не совсем
[14:17:57] <slepnoga> и аттакера __валидный__ серт на "*"
[14:17:59] <slepnoga> :)
[14:18:16] <slepnoga> угу, такие дела
[14:31:19] ruda вышел(а) из комнаты
[14:32:24] beelzebubbie вошёл(а) в комнату
[15:03:25] ruda вошёл(а) в комнату
[15:06:18] nis вошёл(а) в комнату
[15:06:20] medvedko вошёл(а) в комнату
[15:06:22] Vurtatoo_work вошёл(а) в комнату
[15:14:53] eegorov вышел(а) из комнаты
[15:31:30] ruda вышел(а) из комнаты
[15:31:40] ruda вошёл(а) в комнату
[15:35:40] DeadEye вышел(а) из комнаты: Ночи всем!
[15:56:14] medvedko вышел(а) из комнаты
[16:52:52] ruda вышел(а) из комнаты: Replaced by new connection
[16:53:02] ruda вошёл(а) в комнату
[16:59:11] WiseLord вышел(а) из комнаты
[17:11:21] mva вышел(а) из комнаты
[17:11:23] ruda вышел(а) из комнаты: Replaced by new connection
[17:11:33] ruda вошёл(а) в комнату
[17:12:18] mva вошёл(а) в комнату
[17:17:15] <nis> Civilian: у тебя новый хром?
[17:18:36] <Civilian> nis: 43 бета
[17:19:17] <nis> Civilian: можешь в хабре средней кнопкой клинкуть на тот же гиктаймс вверху(интересно откроется ли)?
[17:19:45] <Civilian> нет
[17:19:49] <Civilian> не открывается в смысле
[17:20:31] <nis> вот и у меня также
[17:20:41] <nis> я сначала думал что баг в браузере
[17:21:43] <0xd34df00d> nis: видел мои ночные мытарства с локом и бекапами конфигов?
[17:21:52] <nis> 0xd34df00d: неа
[17:21:52] <0xd34df00d> Расскажешь теперь, чо как делать? :]
[17:22:00] <nis> я спал
[17:23:26] <nis> 0xd34df00d: линк
[17:23:49] <slepnoga> grub2-install /dev/sdc
Installing for i386-pc platform.
grub2-install: error: unknown filesystem.
[17:23:57] <0xd34df00d> nis: в логах.
[17:24:01] <0xd34df00d> А то я с мобилы(
[17:24:02] <slepnoga> есть у кого нибудь дельные мысли ?
[17:24:17] <nis> 0xd34df00d: ну придёшь скинешь
[17:24:20] <nis> мне лень искать
[17:24:36] <nis> slepnoga: есть у него такая беда
[17:24:50] <nis> по крайней мере у себя на виртуалке я такое видел
[17:24:56] <nis> версия какая?
[17:25:31] <Civilian> [02:22:53] <0xd34df00d> Civilian: вот, уж коли с тобой обсуждали. Накостылял такую фигню для сохранения бэкапов перед записью в файл (и их удаления после успешного синка): https://bpaste.net/show/cbf1a7550743
[02:24:32] <0xd34df00d> Если заменить copy на rename (оно там закомментированное), то qsettings ломается даже с локом.
[02:24:39] <0xd34df00d> Ибо доступ вполне себе к одному файлу может быть многопоточным.
[02:24:40] <0xd34df00d> ЧЯДНТ?
[17:25:36] <Civilian> сорри за >3 строк
[17:25:45] <slepnoga> 2.01
[17:26:11] <nis> возьми более новый
[17:26:34] <nis> глупый вопрос у тебя чем размечен диск?
[17:27:52] <0xd34df00d> nis: приду я тогда, когда ты уже оффлаен.
[17:28:10] <0xd34df00d> Впрочем, Civilian няша и скинул.
[17:29:12] <nis> 0xd34df00d: а ты как доступ ведёшь к файлу?
[17:29:27] <nis> а точнее к qsettings?
[17:37:16] <0xd34df00d> nis: чо?
[17:37:21] <0xd34df00d> В смысле?
[17:37:59] <nis> 0xd34df00d: ты вот собрался перемещать, а как ты гарантируешь что в этот момент не ведется работа с ним?
[17:44:27] <0xd34df00d> nis: никак, я не могу этого гарантировать. qsettings внутри лочит, впрочем.
[17:44:41] <nis> вот
[17:45:01] <nis> 0xd34df00d: вот привязался к этому кусеттингу
[17:47:02] <0xd34df00d> nis: ну а что делать.
[17:47:32] <nis> думать
[17:47:56] <nis> я вот выбрал для себя другой файл конфигурации
[17:51:02] <0xd34df00d> nis: тут особо не надумаешься. Велосипедировать уже поздновато, миграция сложновата.
[17:51:13] <0xd34df00d> Будешь жить с медленным копированием на каждый чих, чо.
[17:51:36] <nis> 0xd34df00d: у qsettngs интерфейс это 2 метода с двумя перегрузками
[17:51:46] <nis> миграция сложновата....
[17:52:09] <Civilian> nis: он попробовал простейший путь, который, по идее, должен был бы работать
[17:52:23] <nis> отсутствие архитектуры и витиеватость решений, а также слишком сцепленный код порождает проблемы в миграции
[17:52:33] <nis> (с) Макконел
[17:52:40] <Civilian> nis: ну это не его случай
[17:52:53] <nis> его его
[17:53:27] <Civilian> nis: почему?
[17:53:34] <Civilian> nis: это ж QSettings печален
[17:53:37] <Civilian> а не его код
[17:53:43] <nis> Civilian: это его код пичален
[17:53:50] <Civilian> его ошибка в том что он взял QSettings не взвесив за и против
[17:53:54] <Civilian> nis: почему?
[17:53:55] <nis> раз он падает там где не должен
[17:53:58] <0xd34df00d> nis: миграция на другой формат настроек.
[17:54:00] <Civilian> nis: почему падает?
[17:54:08] <nis> архитектурные ошибки
[17:54:13] <slepnoga> бля
[17:54:14] <0xd34df00d> Писать парсер для встроенных кутешных типов - дело очень неблагодарное.
[17:54:16] <Civilian> nis: где?
[17:54:17] <slepnoga> снова
[17:54:19] <slepnoga> и опять
[17:54:25] <slepnoga> его наверно покусали
[17:54:37] <slepnoga> и вдули без вазелина на работе ?
[17:54:40] <0xd34df00d> Civilian: это чо.
[17:54:51] <Civilian> nis: QSettings хороший выбор для маленьких проектов, поэтому я понимаю почему он его взял
[17:54:54] <0xd34df00d> В 2008 году я в QSettings БД рсс-читалки хранил.
[17:54:56] <Civilian> проект разросся, перерос QSettings
[17:55:19] <Civilian> отсюда и проблемы лезут
[17:55:26] <slepnoga> nis: а че, на твою железку винда становится или OS X ?
[17:55:39] <0xd34df00d> nis: нет проблемы с заменой QSettings в вызывающем коде, это почти sed'ом решается.
[17:55:40] <slepnoga> а QSettings универсален ;)
[17:56:04] <0xd34df00d> Есть проблемы тупо с написанием альтернативы.
[17:56:16] <nis> slepnoga: на те железки с которым я работаю влезет что угодно
[17:56:22] <0xd34df00d> И есть проблемы с непонятным поведением fcntl на lock, которое я не понимаю.
[17:56:25] <nis> т.к х86 везде х86
[17:56:47] <nis> slepnoga: QSettings крив
[17:56:50] <nis> и ужасен
[17:57:08] <nis> и да хранить объекты в настройка это вообще ужас
[17:57:10] <0xd34df00d> 6 лет назад, условно, казалось иначе.
[17:57:19] <0xd34df00d> nis: какие объекты?
[17:57:20] <nis> тут уж как говорится проблема уже другой отрасли
[17:57:28] <nis> 0xd34df00d: у тебя байт-объекты например
[17:58:15] <0xd34df00d> nis: а что это, как не настройки торрента?
[17:58:37] <nis> 0xd34df00d: настройки это то что можно настроить, в том числе и руками
[17:58:43] <nis> а у тебя непойми что
[17:58:49] <nis> и по сути мини-бд
[17:59:00] <nis> т.к. ты хранишь то с чем работаешь сразу в настройках
[17:59:18] <0xd34df00d> А настройки - не мини-база по, гм, настройкам?
[17:59:36] <0xd34df00d> Настройки не обязательно можно настроить руками в текстовом редакторе.
[17:59:48] <nis> обязательно
[17:59:56] <0xd34df00d> Пруф или обязательно.
[18:00:06] <nis> 0xd34df00d: я тебе приводил статью из вики
[18:00:18] <nis> и да у тебя ошибка
[18:00:30] <nis> т.е. даже если нету пруфов то обязательно
[18:00:41] <nis> 0xd34df00d: и да торренты это не настройки
[18:00:46] <nis> это данные
[18:04:28] <Civilian> nis: не обязательно.
[18:04:40] <nis> Civilian: обязательно
[18:04:45] <Civilian> nis: с фига ли?
[18:04:52] <Civilian> nis: вон в винде настройки в блобе живут
[18:04:55] <Civilian> реестром называется
[18:04:59] <nis> с того что их для того и придумали
[18:05:04] <nis> реестр это не настройки
[18:05:13] <nis> это хранилище метаобъектов
[18:05:24] <0xd34df00d> nis: а сами торренты там и не хранятся.
[18:05:26] <0xd34df00d> Все верно.
[18:05:31] <nis> а то что программы хранят в нём настройки это уже другое
[18:05:33] <0xd34df00d> А вот настройки торрентов уже хранятся.
[18:05:33] conformist вышел(а) из комнаты
[18:05:40] <0xd34df00d> Приоритеты там, теги, это все.
[18:05:44] <Civilian> nis: у гнома тоже свой реестр
[18:05:45] <nis> это как фуд сохраняет торренты в ини
[18:05:53] <Civilian> nis: в /etc/ есть симлинк на бинарный файл
[18:05:55] <Civilian> например
[18:06:01] <Civilian> на десктопных линуксах
[18:06:03] <nis> Civilian ты почитай что такое реестр
[18:06:04] <Civilian> который руками не правится
[18:06:04] <0xd34df00d> Покажи, где я сохраняю торренты в ini?
[18:06:13] <nis> 0xd34df00d: ты сам ссылку кидал
[18:06:20] <Civilian> nis: да какая разница что это, если там настройки? )
[18:06:28] <nis> Civilian: это не настройки
[18:06:36] <Civilian> nis: ну там они хранятся
[18:06:46] <0xd34df00d> nis: и где там _торренты_ в настройках?
[18:06:50] <Civilian> nis: веб-приложения в базе хранят свои настройки (кроме коннектов к базе)
[18:06:51] conformist вошёл(а) в комнату
[18:06:52] <0xd34df00d> И где их еще хранить?
[18:06:53] <Civilian> а базы это тоже блобы
[18:07:02] <Civilian> nis: короче мб в 70-ых ты был бы прав
[18:07:06] <Civilian> но сяс 2015
[18:07:10] <Civilian> ты не прав дефакто
[18:07:11] <nis> 0xd34df00d: отдельно, т.к. делают другие клиенты
[18:07:12] <0xd34df00d> Настройки торрентов, т. е.
[18:07:13] <Civilian> а на деюро мне плевать
[18:07:30] <0xd34df00d> nis: еще раз. Где у меня торрент-файлы в настройках?
[18:07:33] <nis> Civilian: однако на логи систем-ди вы воете
[18:07:44] <nis> хотя нигде не прописано что они должны быть текстовыми
[18:07:53] <0xd34df00d> nis: и что значит "отдельно"? Не соскакивай на другие клиенты плз.
[18:07:56] <Civilian> nis: да, потому что там нет гарантии целостности данных
[18:07:58] <Civilian> ваще никакой
[18:08:03] <nis> 0xd34df00d: я не соскальзываю
[18:08:08] <Civilian> ровно также как на фудово использование QSettings
[18:08:13] <nis> Civilian: у фуда тоже нету гарантии
[18:08:28] <Civilian> nis: ну поэтому на QSettings также ноем, как на бинарные логи systemd :)
[18:08:47] <nis> потому что он хранит там всякую хрень
[18:08:47] <Civilian> nis: так то я не против бинарных логов, я просто не очень за них
[18:08:59] <Civilian> как и не очень за то, чтобы были конфиги в базах-блобах
[18:09:11] <nis> вот
[18:09:14] <0xd34df00d> nis: так где - отдельно?
[18:09:18] <nis> т.е. по факту ты лицемер
[18:09:21] conformist вышел(а) из комнаты
[18:09:25] <Civilian> nis: почему?
[18:09:45] <nis> потому, что ты вроде бы и не против но и не за, а также всячески защищаешь фуда
[18:09:58] <Civilian> nis: я иногда защищаю, иногда нет
[18:10:08] <nis> т.е. опять же нет единого мнения
[18:10:14] <Civilian> nis: просто ты сейчас не прав, поэтому я защищаю архитектуру фудового приложения
[18:10:21] <Civilian> но я против QSettings там
[18:10:25] <Civilian> точнее того поведения настроек
[18:10:32] <nis> Civilian: где я не прав конкретно?
[18:10:51] <nis> то что всё что должно быть читаемым, должно быть читаемым?
[18:10:55] <Civilian> nis: то что ты косяки QSettings приписываешь фуду
[18:11:17] <Civilian> nis: да, но настройки не обязательно должны быть читаемыми без спец. софта
[18:11:18] <Civilian> как и логи
[18:11:21] <Civilian> это желательно
[18:11:21] <nis> Civilian: я не косяки приписываю, я указываю почему так получилось
[18:11:23] <Civilian> но не обязательно
[18:11:32] <Civilian> nis: потому что он начинал личи как мелкий проект
[18:11:36] <nis> нет
[18:11:41] <nis> потому, что он не думал
[18:11:42] <Civilian> а каковость Qt вылезла с ростом нагрузки на QSettings
[18:11:50] <Civilian> nis: он думал что ему хватит
[18:11:58] <nis> нет он вообще не думал
[18:12:02] <0xd34df00d> nis: да, с читаемостью ты не прав.
[18:12:15] <0xd34df00d> nis: пруф или думал.
[18:12:31] <nis> 0xd34df00d: потому, как более мелкие проекты сделаны по уму
[18:12:47] <nis> что например позволило мне с одного клиента перенести в другой
[18:12:58] <nis> и настроить оный без панели управления
[18:13:27] <nis> 0xd34df00d: почему у тебя так нельзя?
[18:14:39] <Civilian> nis: ты не к тому привязался. Пусть у него хоть бинарный блоб своего формата там
[18:14:49] <Civilian> самое главное чтобы оно работало стабильно
[18:15:02] <nis> Civilian: стабильность понятие относительно
[18:15:16] <Civilian> nis: чтобы в большинстве случаев данные не терялись
[18:15:23] <Civilian> при нештатных ситуациях
[18:15:26] <0xd34df00d> nis: что перенести? Что настроить и без какой панели?
[18:15:31] <nis> надо делать так чтобы даже падение не приводило к тому чтобы приходилось восстанавливать данные там где их не меняли
[18:16:09] <nis> 0xd34df00d: вот я взял перенёс с компа на другой все торренты в одну команду cp
[18:16:41] <nis> при этом поменял доступность панели управления для клиента без уи
[18:16:54] <nis> 0xd34df00d: а у тебя такое сделать нельзя
[18:18:45] <0xd34df00d> Что именно нельзя сделать? Торренты перенести? Берешь и переносишь файлы с ними, в чем проблема?
[18:19:10] <nis> 0xd34df00d: из одного клиента в другой
[18:19:15] <nis> ты читай полностью
[18:20:58] <nis> посмотрел директорию конфигов
[18:20:59] <nis> ужас
[18:21:15] <nis> такого надо ещё поискать
[18:22:31] slepnoga вышел(а) из комнаты
[18:23:36] <0xd34df00d> nis: и сохранились настройки выбранных файлов и их приоритетов, настройки лимитов скорости и всего такого? Да вот не гони.
[18:24:18] <nis> 0xd34df00d: где же они сохранились, если мы их потеряли?
[18:24:35] <nis> я вот искал искал в дире .leechcraft а там их нету
[18:25:33] <0xd34df00d> .leechcraft/bittorrent ты открыть уже не догадался?
[18:25:48] <0xd34df00d> Или torrent, не помню точно.
[18:25:53] <nis> там нету
[18:25:55] <nis> вот
[18:26:01] <nis> ты даже не помнишь где у тебя что
[18:26:03] <nis> лол
[18:26:57] <0xd34df00d> Я должен помнить наизусть все названия всех директорий?
[18:26:57] <nis> как можно писать под это, если даже сам автор не помнит (и не записывает).
[18:27:05] <0xd34df00d> Она там одна.
[18:27:31] <0xd34df00d> nis: куда мне это записывать, в блокнотик на работе?
[18:27:40] <nis> 0xd34df00d: да ты должен
[18:27:49] <0xd34df00d> Вот это поворот!
[18:27:53] <nis> если это не прописано нигде
[18:27:58] <0xd34df00d> Так что, не догадался посмотреть?
[18:28:01] <nis> и ты заявлешь что есть архитектура
[18:28:12] <nis> 0xd34df00d: я вот весь каталог обыскал
[18:28:14] <0xd34df00d> А где это должно быть прописано?
[18:28:17] <nis> а нужного файла не нашёл
[18:28:25] <0xd34df00d> Почини ФМ. Не обыскал.
[18:28:55] <nis> 0xd34df00d: как называется файл?
[18:28:56] <0xd34df00d> nis: я сейчас сижу на работе, личкрафта тут нет. Откуда мне это помнить или читать?
[18:29:03] <0xd34df00d> Или ради тебя на гитхаб лезть?
[18:29:29] <0xd34df00d> nis: ~/.leechcraft/*torrent/
[18:29:36] <0xd34df00d> nis: это директория.
[18:29:39] <nis> и?
[18:29:43] <nis> что мы там видим?
[18:29:48] <nis> бесполезные файлы
[18:30:02] <nis> о которых клиент незнает ничего
[18:30:08] <nis> т.к. он потерял их
[18:30:25] <0xd34df00d> Лол.
[18:30:45] <0xd34df00d> nis: еще раз, чо там про архитектуру и запись имен каталогов?
[18:30:50] <nis> также как и ты потерял настройки к собственному клиенту?
[18:31:01] <nis> 0xd34df00d: то что у тебя её нету
[18:31:03] <nis> и не было
[18:31:20] <nis> и не будет
[18:33:41] winterheart вошёл(а) в комнату
[18:34:48] <0xd34df00d> nis: я про qsettings уже объяснял.
[18:35:02] <nis> 0xd34df00d: а знаешь как я бы сделал?
[18:35:15] <0xd34df00d> nis: с чего ты взял, что ее нет? С того, что я не помню путей? Или почему?
[18:35:42] <nis> 0xd34df00d: с того что очевидные вещи ты сделал так как будто употребляешь
[18:35:56] <nis> причём далеко не алкоголь
[18:36:05] <nis> 0xd34df00d: вот смотри
[18:36:27] <nis> что тебе помешало в файлы hash поместисть статус торрента?
[18:36:38] <0xd34df00d> nis: какие файлы hash?
[18:36:48] <0xd34df00d> Ты про сами торренты?
[18:36:51] <nis> resume
[18:36:53] <nis> которые
[18:37:03] <0xd34df00d> А, так их либторрент генерит и жрет.
[18:37:08] <0xd34df00d> Это ее деталь реализации.
[18:37:12] <0xd34df00d> И там есть свои проблемы.
[18:37:20] <nis> 0xd34df00d: так вот делаешь метрику на эти хеши
[18:37:21] <0xd34df00d> В которые я не хочу углубляться сейчас.
[18:37:28] <0xd34df00d> Какую метрику?
[18:37:30] <nis> и подключаешь их
[18:37:42] <0xd34df00d> Ты можешь общепринятые термины использовать?
[18:37:59] <nis> 0xd34df00d: именуешь в соотвествии с контрольной суммой
[18:38:12] <0xd34df00d> Интересное определение метрики.
[18:38:14] <nis> и далее огранизуешь себе директорию в которой они лежат
[18:38:19] <nis> всё
[18:38:34] <0xd34df00d> Зачем метрика, если есть хеши?
[18:38:43] <nis> итого если qsettings настолько плох что потерялся
[18:38:44] <0xd34df00d> Как защититься от продалбывания этих данных?
[18:39:01] <nis> ты не теряешь те торренты которые есть
[18:39:05] <0xd34df00d> Почему бы не поработать над защитой qsettings вместо этого?
[18:39:17] <nis> 0xd34df00d: потому, что это бессмысленно
[18:39:27] <nis> т.к. ты усложняешь очевидное решение
[18:39:47] <nis> вместо того чтобы подумать как решить проблему в корне
[18:40:07] <nis> 0xd34df00d: если у других работает почему бы не использовать то что работает?
[18:40:15] <nis> а не городить свои лисапеды
[18:40:16] <nis> горой
[18:40:41] maxggxam вышел(а) из комнаты: Вышел из Vacuum-IM
[18:43:25] <0xd34df00d> nis: потому что я почитал твою статью про неважность кода.
[18:43:44] <0xd34df00d> И решил фигак-фигак-и-в-продакшен.
[18:43:55] <0xd34df00d> А если серьезно, потому что легаси уже :*
[18:43:57] <0xd34df00d> :(
[18:51:17] krigstask вышел(а) из комнаты: Replaced by new connection
[18:51:27] krigstask вошёл(а) в комнату
[18:53:20] CarelessChaser вышел(а) из комнаты
[18:56:25] conformist вошёл(а) в комнату
[18:57:46] medvedko вошёл(а) в комнату
[19:02:03] <0xd34df00d> nis: ты ж у нас знаток, напишешь миграцию?
[19:06:08] <winterheart> привет, генту-чан
[19:14:49] <nis> 0xd34df00d: с твоего кода на нормальный?
[19:16:58] <0xd34df00d> nis: да хоть так.
[19:17:17] <0xd34df00d> nis: лучше - на нормальные настройки, как ты считаешь нужным.
[19:17:40] <nis> лениво
[19:17:52] <nis> это надо сначала разобраться в твоём коде
[19:18:06] <nis> потому продумать как это сделать с минимальными рисками
[19:18:12] <0xd34df00d> nis: я его писал лет 7 назад там тот.
[19:18:13] <nis> потом долго патчить
[19:18:17] <nis> и отлаживать
[19:18:25] <0xd34df00d> nis: дел на полчаса же.
[19:18:28] <nis> в надежде что заработает так как думаю
[19:18:32] <0xd34df00d> nis: как ты тут говорил )
[19:18:39] <nis> 0xd34df00d: ты это ты
[19:18:43] <nis> это твой огород
[19:18:51] <nis> а для меня это дремучий лес
[19:18:56] <nis> мне проще с нуля написать
[19:19:00] <0xd34df00d> nis: почему бы не починить qsettings? Они много где используются для хранения относительно важных вещей.
[19:19:13] <0xd34df00d> Вплоть до статуса и списка аккаунтов в азотхе.
[19:20:52] <nis> какой смысл чинить последствия
[19:21:30] <nis> надо чинить причины
[19:21:47] <nis> 0xd34df00d: вот у нас к примеру тоже настройки используются
[19:21:52] <nis> но они ни разу не ломались
[19:21:57] <nis> вопрос почему?
[19:22:52] jam666 вошёл(а) в комнату
[19:26:06] <0xd34df00d> nis: потому что аккуратно лочите файл?
[19:27:01] <nis> вообще нет
[19:30:29] <0xd34df00d> nis: а почему ж тогда?
[19:30:49] <nis> 0xd34df00d: потому, что мы используем настройки как настройки
[19:31:57] <0xd34df00d> nis: азаза. И они именно от этого не ломаются?
[19:32:00] <0xd34df00d> Удобно!
[19:32:15] <nis> ага
[19:32:28] <nis> хотя я лично хочу yaml
[19:32:33] <0xd34df00d> Просто вы на достаточно стремный юзкейс пока не натыкались, и пока везло вам там.
[19:32:42] <0xd34df00d> Да хоть плейнтекст, какая разница?
[19:32:57] <0xd34df00d> Настройки ломаются от битого файла, а не от формата.
[19:33:25] <nis> 0xd34df00d: сегодня я раза 3 - 4 уронил, раз 10 убил нашу прогу
[19:33:30] <nis> настройки как были так и остались
[19:36:46] <0xd34df00d> Тестирование уровня nis.
[19:37:04] <0xd34df00d> nis: знаешь, сколько раз я (и не только) убивал-ронял личкрафты?
[19:37:08] <0xd34df00d> А повезло вот тебе.
[19:37:17] <nis> 0xd34df00d: это только за сегодня
[19:37:30] <nis> а так в среднем были разные баги
[19:37:43] <nis> просто надо архитектурно продумывать свои решения
[19:37:52] <nis> не фичеквесты выполнять
[19:38:43] <0xd34df00d> nis: причем тут архитектура?
[19:39:10] <nis> при том что такая мелкая и нелепая ошибка не должна была привести к серьёзным последствиям
[19:40:11] <0xd34df00d> nis: отсутствие синка на настройки - не мелкая ошибка.
[19:51:41] Vurtatoo_work вышел(а) из комнаты
[19:57:56] bober2000 вышел(а) из комнаты
[19:58:06] bober2000 вошёл(а) в комнату
[20:13:50] ruda вышел(а) из комнаты: Replaced by new connection
[20:14:00] ruda вошёл(а) в комнату
[20:21:58] DeadEye вошёл(а) в комнату
[20:22:41] <DeadEye> Так, ребята. Есть две директории с именами в кривой кодировке, в результате мы получаем вопросики в ромбе (это кодировка, видать). Как их переименовать нормально?
[20:22:46] <DeadEye> Spacefm не хочет.
[20:22:58] <Civilian> DeadEye: find -inum
[20:23:01] <Civilian> по inode'у
[20:23:06] <Civilian> mc может
[20:23:10] <Civilian> по f6
[20:24:18] maxggxam вошёл(а) в комнату
[20:31:23] medvedko вышел(а) из комнаты
[20:32:00] <DeadEye> Civilian: да, mc сделал. Спасибо)
[20:32:17] DeadEye вышел(а) из комнаты: Ночи всем!
[20:49:12] Civilian вышел(а) из комнаты
[20:49:40] <nis> 0xd34df00d: использование непроверенных средств в нецелевой плоскости, это не просто ошибка...
[20:51:25] <0xd34df00d> nis: плоскость целевая, дискасс.
[20:51:30] <0xd34df00d> Лан, пойду домоф.
[20:51:34] <nis> иди
[20:52:11] <nis> 0xd34df00d: а не целевая, т.к. ты пытаешься возложить слишком много на один файл
[20:52:17] <nis> чем порождаешь кучу проблем
[20:52:23] <nis> это же не бд
[20:52:31] <nis> где синхронизация блочная
[20:52:58] <nis> и где одновременные операции записи-чтения не ломают файл даже при неудачном завершении
[20:53:06] <nis> это текстовый файл
[20:53:26] <nis> а текстовый файл можно использовать только с блокирующей записью-чтением
[20:53:29] <nis> в одном потоке
[20:53:43] <nis> и для однократного сохранения с добавлением
[20:53:46] <nis> пример - логи
[20:54:01] <nis> для хранения объектов больше всего подходят плоские бд
[20:54:27] <nis> и любой кто пытается доказать обратное будет раз за разом наступать на одни и те же грабли
[20:54:37] <nis> 0xd34df00d: причём это не я сказал, а Кодд
[20:54:45] <nis> а он явно был умнее и меня и тебя
[20:55:28] <0xd34df00d> nis: а к настройкам обычным разве не может быть доступа из нескольких потоков?
[20:57:57] <nis> 0xd34df00d: на запись нет
[20:58:06] <nis> одновременную
[20:58:14] <nis> неблокирующую
[20:59:21] <nis> чтение сколько угодно
[20:59:26] <nis> но не во время записи
[20:59:47] <nis> вообще читать настройки лучше из определённого места
[20:59:56] <nis> а не напрямую из файла настроек
[21:00:05] <nis> или объекта QSettings
[21:00:13] <nis> в этом случае всё будет стабильно
[21:03:25] maksbotan вошёл(а) в комнату
[21:07:12] <nis> а почему оно асинхронное, да потому, что разработчики в первую очередь предвидели таких как ты фуд, которые обязательно сохранят в ини то что там с роду не хранили
[21:12:10] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[21:26:26] ruda вышел(а) из комнаты: Replaced by new connection
[21:26:36] ruda вошёл(а) в комнату
[21:52:03] ruda вышел(а) из комнаты: Replaced by new connection
[21:52:13] ruda вошёл(а) в комнату
[21:58:24] nis вышел(а) из комнаты
[22:10:44] ruda вышел(а) из комнаты: Replaced by new connection
[22:10:54] ruda вошёл(а) в комнату
[22:14:58] 0xd34df00d вошёл(а) в комнату
[22:16:48] <0xd34df00d> На запись тоже норм.
[22:22:04] ruda вышел(а) из комнаты: Replaced by new connection
[22:22:14] ruda вошёл(а) в комнату
[22:24:41] <slepnoga> может уже хватит ? а то пойдет на архитектурный
[22:24:55] <slepnoga> пойдете*щ
[22:38:28] ruda вышел(а) из комнаты: Replaced by new connection
[22:38:38] ruda вошёл(а) в комнату
[22:48:05] ruda вышел(а) из комнаты: Replaced by new connection
[22:48:15] ruda вошёл(а) в комнату
[22:50:40] Vurtatoo_work вошёл(а) в комнату
[22:55:45] Civilian вошёл(а) в комнату
[23:01:41] ruda вышел(а) из комнаты: Replaced by new connection
[23:01:51] ruda вошёл(а) в комнату
[23:15:47] beelzebubbie вышел(а) из комнаты
[23:30:56] 0xd34df00d вышел(а) из комнаты: Client went to sleep
[23:31:06] 0xd34df00d вошёл(а) в комнату
[23:32:10] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:41:14] ruda вышел(а) из комнаты: Replaced by new connection
[23:41:24] ruda вошёл(а) в комнату
[23:57:25] ruda вышел(а) из комнаты: Replaced by new connection
[23:58:01] ruda вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!