RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 44
[>] Re: ???
im.1406
spline(station13, 1) — spline
2014-05-27 18:43:19


Вот это сообщение.

[>] Re: Что писать в ii.bone.14?
im.1406
51t(mira, 2) — vit01
2014-05-27 18:45:11


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

[>] Re: Что писать в ii.bone.14?
im.1406
vit01(mira, 1) — 51t
2014-05-27 19:04:52


> (кстати, а ты можешь произвольный сабдомен привязывать?)
Поддомен на .tk я привязывать не могу, могу привязать единственный субдомен к длинному адресу http://ii.frm381.16mb.com/
Работает уже, кстати.

> мож у тебя поднять резеврный сайт с резервной документацией
Резервную документацию можешь пихать в texts на битбакете. Если имеешь в виду ii.51t.ru, то займусь этим завтра

[>] Re: ???
im.1406
vit01(mira, 1) — spline
2014-05-27 19:05:48


dHsdvfKWyaWgHkrv4lRH

нашёл в /msg
это в клиенте у меня отсутствует

[>] набросал простенький чекер
im.1406
51t(mira, 2) — All
2014-05-27 19:07:33


import os

msgs = os.listdir('msg')
passed = set()

echoes = os.listdir('echo')

for ea in echoes:
    for h in open('echo/%s' % ea).read().splitlines():
        if h in msgs:
            msgs.remove(h)
            passed.add(h)
        else:
            if h in passed:
                print 'double in %s: %s' % (ea, h)
            else:
                print 'bad record in %s: "%s"' % (ea, h)

for h in msgs:
    print 'no owner for %s' % h

[>] До завтра
im.1406
vit01(mira, 1) — All
2014-05-27 19:10:08


Спокойной ночи, говорю я сам себе. Утром встретимся.

[>] Re: До завтра
im.1406
51t(mira, 2) — vit01
2014-05-27 19:11:09


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

[>] Мой канал на soundcloud
im.1406
spline(station13, 1) — All
2014-05-27 19:37:08


Ежели пошёл мой альбом, то ещё немного саморекламы:

https://soundcloud.com/sukiminoku-san

Слушать без флеша не получится, но качать должно получиться.

[>] Что с нодой произошло?
im.1406
spline(station13, 1) — vit01
2014-05-27 20:09:40


Сабж.

При фетчинге получаю такой вот выхлоп:

$ ./gate
fetch http://irk38.tk/ii/ii-point.php?q=/u/e/im.1406/game.rogue.14/vit01.2014/obsd.talk.14/lor-opennet.2014/ii.dev.14/spline.bash.rss.14/spline.creepy.14/spline.lor.rss.14/spline.openbsd-cvs.rss.14
fetch http://irk38.tk/ii/ii-point.php?q=/u/m/////////////////////////////////////
Traceback (most recent call last):
File "webfetch.py", line 57, in <module>
parse()
File "webfetch.py", line 55, in parse
debundle(ea,s)
File "webfetch.py", line 34, in debundle
open('../../msg/%s' % mid,'w').write(unp(kod))
IOError: [Errno 21] Is a directory: '../../msg/'

Очевидно, какой-то странный косяк с msgid. Но ума не приложу что не так.

[>] Re: Что с нодой произошло?
im.1406
spline(station13, 1) — vit01
2014-05-27 20:16:56


Развернул локальную ноду. Зафетчил себя -- всё нормально. Зафетчил тебя, такая же ошибка.

[>] Привет!
im.1406
vit01(mira, 1) — All
2014-05-28 03:54:28


Доброе утро, дорогие поинты! В Иркутске 8:54, за окном ясно. Поеду на дачу, буду проверять базу оттуда :)

[>] Re: Что с нодой произошло?
im.1406
vit01(mira, 1) — spline
2014-05-28 04:46:22


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

[>] Re: Что с нодой произошло?
im.1406
51t(mira, 2) — spline
2014-05-28 05:13:24


///// - это пустые строки

их быть не должно. когда-нибудь фетчер будет их игнориоровать (мой клиент уже игнорирует, там простейший if, есть или здесь, или в .dev), но сейчас нам нужно выявлять проблемы, а не обрабатывать их.

[>] Re: Привет!
im.1406
51t(mira, 2) — vit01
2014-05-28 05:15:26


во Владивостоке 12:15, на улице, брррр, холодновато, и мы ведём свой репортаж с центральной арены постройки светлого будущего, где сейчас делается фиксер для базы, и может быть, что то ещё.

[>] Re: Что с нодой произошло?
im.1406
51t(mira, 2) — vit01
2014-05-28 05:17:11


надо искать корень зла. иначе эта штука так и будет возникать.

[>] ребилдилка. тестовая версия, поэтому не в dev
im.1406
51t(mira, 2) — All
2014-05-28 05:30:55


import os

msgs = os.listdir('msg')
for h in msgs:
    if os.path.getsize('msg/%s' % h) == 0:
        os.remove('msg/%s' % h)
        msgs.remove(h)

echoes = os.listdir('echo')

for ea in echoes:
    passed = []
    echo = open('echo/%s' % ea).read().splitlines()
    for h in echo:
        if h in msgs:
            msgs.remove(h)
            passed.append(h)
    if passed != echo:
        passed = passed + [''] or []
        open('echo/%s' % ea,'w').write('\n'.join(passed))

for h in msgs:
    os.remove('msg/%s' % h)

ребилдит базу - удаляет левые записи и дубли, удаляет сообщения, которых нет ни в одной эхе (в файле эх, если просто отписались от эхи, ничего не удалится), удаляет сообщения с размером 0, которые у меня откуда-то плодятся...

использовать с осторожностью! сначала чекером прогнать с записью в лог. затем заархивировать базу. и только потом запускать фиксер!

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

[>] Re: Что с нодой произошло?
im.1406
vit01(mira, 1) — 51t
2014-05-28 05:32:21


Как я понял, они ещё раньше появились, приду - проверю.

[>] Re: ребилдилка. тестовая версия, поэтому не в dev
im.1406
51t(mira, 2) — 51t
2014-05-28 05:35:03


> passed = passed + [''] or []

passed = passed + ['']

or тут не сработает ни в каком случае, но и без него join не делает лишнюю пустую строку :)

[>] Доброе утро
im.1406
spline(station13, 1) — All
2014-05-28 05:35:30


В Кургане 7:30. За бортом +2 градуса цельсия, облачно.

[>] Re: Что с нодой произошло?
im.1406
51t(mira, 2) — vit01
2014-05-28 05:45:56


прогнал ребилдером

следующий синк прислал мне 1056 пустых сообщений (заодно нашёл баг в клиенте, show all не работало, ща исправлю)

[>] Re: Доброе утро
im.1406
51t(mira, 2) — spline
2014-05-28 05:52:45


а у нас тут базы страшно корёжат... :)

[>] Сделано
im.1406
vit01(mira, 1) — All
2014-05-28 07:33:53


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

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 07:38:27


некоторый прогресс есть - вместо 1056 сообщений no message их стало 99

впрочем, на станции spline их было 96. наверное, это его пустые сообщения :)

сейчас будете их гонять туда-сюда :)

[>] Re: Сделано
im.1406
vit01(mira, 1) — 51t
2014-05-28 07:41:22


Наверное, он их сначала скачал у меня, потом я их удалил, потом снова скачал, потом spline их скачает у меня.

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 07:43:04


короче, от php-ноды надо оставить только ноду. роботы сделать в виде внешних пойнтов, а нода должна быть только нодой, но чистой, красивой и корректной, и больше не делать ничего.

один фиг, самая интересная эха, cvs, так ни у кого и не ходит :)

[>] Re: Сделано
im.1406
vit01(mira, 1) — 51t
2014-05-28 07:50:29


> короче, от php-ноды надо оставить только ноду. роботы сделать в виде внешних пойнтов, а нода должна быть только нодой, но чистой, красивой и корректной, и больше не делать ничего.
Лучше мы всё починим, и будет всё хорошо :)

> один фиг, самая интересная эха, cvs, так ни у кого и не ходит :)
Пока что я не видел, чтобы туда что-то написали ещё. А gate3 опять сохраняет ту же самую статью...

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 07:53:35


нафиг писать роботы на php, если есть python? :) на python у меня всё ходит, всё работает и всё под контролем, любую проблему могу исправить

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

покажи мне ноду, которая работает у тебя, прям щас...

[>] Re: Сделано
im.1406
vit01(mira, 1) — 51t
2014-05-28 08:11:19


> нафиг писать роботы на php, если есть python? :) на python у меня всё ходит, всё работает и всё под контролем, любую проблему могу исправить
Хостинг питон не поддерживает, поэтому php. Всё логично.

> покажи мне ноду, которая работает у тебя, прям щас...
Вот эта нода и работает. Правда встречаются неполадки с гейтами, но нода работает.

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 08:15:03


> Хостинг питон не поддерживает, поэтому php. Всё логично.

роботов можно запускать хоть из дома, хоть откуда угодно

> Вот эта нода и работает. Правда встречаются неполадки с гейтами, но нода работает.

какая вот эта? я хочу исходники посмотреть. если api корректен, то хоть клиент пишет, хоть робот, косяков оно пропустить не должно.

[>] Re: Сделано
im.1406
vit01(mira, 1) — 51t
2014-05-28 08:36:29


https://github.com/vit1-irk/ii-php
Посмотри, ты же всё-таки api лучше знаешь.
(А webfetch в гите уже не актуален, потом коммит сделаю).

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 08:52:41


ну, собственно, вся запись идёт здесь:

function savemsg($h,$e,$t) {
	checkEcho($e);
	if(checkHash($h)) {
		if(!file_exists('msg/'.$h)) {
			$fp = fopen('msg/'.$h, 'wb'); fwrite($fp, $t); fclose($fp);
			$fp = fopen('echo/'.$e, 'ab'); fwrite($fp, "$h\n"); fclose($fp);
			echo "message saved: ok\n";
		} else {
			echo "error: this message exists\n";
		}
	} else echo "error: incorrect msgid\n";
}
больше, насколько я понимаю, никто сообщения не пишет?

у меня тут такие вопросы:

1. что делает checkEcho? где оно вываливается с ошибкой?

2. что делает checkHash??? является ли '' валидным хэшем на этом чекере?

3. if(!file_exists('msg/'.$h)) - вообще-то это неправильно, потому что один кривой файл может не позволить перезапись. если эха требует записи файла, его надо записывать, не проверяя на валидность.

4. ага, у тебя ещё и в point_msg запись идёт, сейчас его разберу.

[>] Re: Сделано
im.1406
51t(mira, 2) — 51t
2014-05-28 08:56:42


но эта функция не может делать нулевые файлы. там бы хоть ii/ok было бы. но всё равно.


function msg_to_ii($echo,$msg,$username,$addr,$time,$receiver,$subj,$repto) {
	checkEcho($echo);
	if($repto) {
		$repto="/repto/".$repto;
	}

	$msgwrite="ii/ok$repto
$echo
$time
$username
$addr
$receiver
$subj\n\n$msg";
	if(count($msgwrite)>64099) die("error:msg big!");

	$msgid=hsh($msgwrite);

	@$echofile=fopen("echo/".$echo,"a");
	@fputs($echofile,$msgid."\n"); fclose($echofile);
	@$msgfile=fopen("msg/".$msgid,"w");
	@fputs($msgfile,$msgwrite);
	
	fclose($msgfile);
	return $msgid;
}

5. см. 1

6. подавление ошибок, особенно в данном случае - это очень плохо. там не должно быть ошибок

[>] Re: Сделано
im.1406
51t(mira, 2) — 51t
2014-05-28 08:56:42


7. тут, кстати, тоже нет проверки на дубли в эхе.

[>] Re: Сделано
im.1406
vit01(mira, 1) — 51t
2014-05-28 08:57:32


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

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 09:06:55


> Основная запись идёт в msg_to_ii

Как оно может создать пустое сообщение? Мне непонятно.

[>] Re: Сделано
im.1406
vit01(mira, 1) — 51t
2014-05-28 09:21:49


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

[>] Re: Сделано
im.1406
51t(mira, 2) — vit01
2014-05-28 09:23:46


> Во-первых, в фетчере используется своё собственное сохранение сообщений

так и используй ii-functions, не зря ты его писал :)

[>] Коммит
im.1406
vit01(mira, 1) — All
2014-05-28 10:07:54


После борьбы с сорняками на даче решил сделать коммит. Изменения: мелкий багофикс, а также вынесение некоторых данных в конфиг. Просьба 51t посмотреть webfetch.php, так как всякие ужасные ошибки идут именно от фетчинга.

[>] Re: Коммит
im.1406
51t(mira, 2) — vit01
2014-05-28 10:16:20


я ща доку пишу, не сбивай с мысли :)

[>] Re: Коммит
im.1406
51t(mira, 2) — 51t
2014-05-28 13:33:02


не дописал. мысли кончились раньше. :)

[>] Re: Коммит
im.1406
vit01(mira, 1) — 51t
2014-05-28 13:36:09


Покажи, что написал, посмотрим.

[>] Re: Коммит
im.1406
51t(mira, 2) — vit01
2014-05-28 13:37:54


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

[>] Re: Коммит
im.1406
51t(mira, 2) — 51t
2014-05-28 13:38:36


или хотя бы поиграть в "хабр", вы будете задавать обязательные для того сообщества вопросы, а я на них буду отвечать - потом можно будет это сразу в статью добавить :)

[>] Re: Коммит
im.1406
vit01(mira, 1) — 51t
2014-05-28 13:41:52


> да то же самое, основную доку переписываю, только меньше фидо, больше радости :)
А можно бэкап? :)

> чучуть из "статьи" взял. кстати, лучше бы по статье чё сказали, покатит её в таком виде на хабр запулить, или "провинция, не поймут-с"? если не поймут-с, то что изменить надо. а то ни одного комментария не было :(
Не поймут, надо поменьше фидошных терминов, больше конкретики + записать конкретно, что ii может (да взять хотя бы из того же habr.md).

[>] Re: Коммит
im.1406
51t(mira, 2) — vit01
2014-05-28 13:44:49


> А можно бэкап? :)

бэк-чё? бэк-куда? :) можно, если только объяснишь, что имеешь ввиду. :)

> Не поймут, надо поменьше фидошных терминов, больше конкретики + записать конкретно, что ii может (да взять хотя бы из того же habr.md).

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

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

[>] Re: Коммит
im.1406
vit01(mira, 1) — 51t
2014-05-28 13:48:09


> или хотя бы поиграть в "хабр", вы будете задавать обязательные для того сообщества вопросы, а я на них буду отвечать - потом можно будет это сразу в статью добавить :)
Обязательных вопросов на хабре, вроде бы, и нет. Задам часто задаваемые вообще:
1. Что оно умеет, чем лучше <имя сервиса> или <название программы>?
2. "Опять это фидо, куда уж можно?"
3. Где скачать?
4. Какие были использованы технологии?
5. Как применять на практике?

[>] Re: Коммит
im.1406
51t(mira, 2) — vit01
2014-05-28 13:50:51


> 1. Что оно умеет, чем лучше <имя сервиса> или <название программы>?

да, а что?

> 2. "Опять это фидо, куда уж можно?"

времена меняются, а мы не меняемся вместе с ними :)

> 3. Где скачать?

на irk38.tk. я толком сам не знаю.

> 4. Какие были использованы технологии?

как обычно, наше ноу-хау, сборка трезвым.

> 5. Как применять на практике?

читать документацию, наверное. не знаю, оно как-то у меня само применяется на практике. :)

[>] Re: Коммит
im.1406
vit01(mira, 1) — 51t
2014-05-28 13:55:11


> бэк-чё? бэк-куда? :) можно, если только объяснишь, что имеешь ввиду. :)
backup, резервная копия (ну чтобы себе сохранить)

> а какие там фидошные термины?
Само фидо, эха, гейт (гейтование), нода, станция, поинт. Поменять на более "цивилизованные" синонимы

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

[>] Re: Коммит
im.1406
vit01(mira, 1) — 51t
2014-05-28 13:57:29


>> 1. Что оно умеет, чем лучше <имя сервиса> или <название программы>?
>да, а что?
>> 2. "Опять это фидо, куда уж можно?"
>времена меняются, а мы не меняемся вместе с ними :)
>> 3. Где скачать?
>на irk38.tk. я толком сам не знаю.
>> 4. Какие были использованы технологии?
>как обычно, наше ноу-хау, сборка трезвым.
>> 5. Как применять на практике?
> читать документацию, наверное. не знаю, оно как-то у меня само применяется на практике. :)
Мне сейчас написать правильные ответы? :)

[>] Re: Коммит
im.1406
51t(mira, 2) — vit01
2014-05-28 14:01:43


> backup, резервная копия (ну чтобы себе сохранить)

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

> Само фидо, эха, гейт (гейтование), нода, станция, поинт. Поменять на более "цивилизованные" синонимы

эти слова я вижу в описании того же i2p. кроме слова "эха", которое я вижу один раз. и как его там заменить? :)

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

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

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