zHz00 Untitled

суббота, 09 ноября 2024
03:23 Это не vim. Но есть сходства
Пароль от московских госуслуг я забыл давно. Когда-то я столкнулся с тем, что поменять его не так-то просто.

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

Ввожу пароль. Меня спрашивают, доверять браузеру или нет. Я, конечно, говорю, что не доверять.

Мне отвечают, что тогда будут спрашивать второй фактор аутентификации в следующий раз. Я согласен.

Зашёл, поработал, разлогинился. А потом вспомнил, что кое-что забыл. Захожу опять и... у меня сразу спрашивают второй фактор, без пароля!

То есть, если бы я доверял браузеру, меня бы пустили и без пароля, и без кода из смс?

Постойте, а как разлогиниться окончательно?

@темы: Борьба с техникой

URL
пятница, 08 ноября 2024
03:57 Парные случаи в действии
Продолжение истории про копирование строки.

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

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

(я там не написал; вся эта канитель с пересылкой строк была связана с инициализацией элементов управления окна)

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

Он работал в другой ветке, поэтому мои изменения ещё не получил. Но мы это быстро исправили.

@темы: Программирование, Борьба с техникой

URL
четверг, 07 ноября 2024
01:36 Я не Нео
Как известно, ложка состоит из держала, черпала и перемычки.

Периодически вижу в столовых, что ложки ставят в стаканы черпалом вверх. Это меня всегда невозбранно бесило. Откуда я знаю, кто с какими руками приходит и как трогает эти ложки? Он же их может и за черпало взять, и все перетрогать. А мне потом этим есть? А мне самому как эти ложки оттуда вытаскивать? Двумя пальчиками за перемычку? Другое дело, если сверху держало. Вытащил -- и нет проблем.

На работе решил воспользоваться общественной ложкой. Залез в шкаф, а там стакан с ложками. И они все так стоят -- черпалом вверх.

Я немедленно высказал своё недовольство вслух. И получил ответ от женщины, которая, наоборот, является сторонником такого метода. Её об'яснения были настолько интересны, что я их фиксирую ниже.

1. Дно стакана глубоко, и там могут скапливаться микробы, поэтому располагать черпало внизу негигиенично.
2. Когда черпало сверху, ложка лучше сохнет после мытья.
3. Ложку действительно следует брать за перемычку двумя пальчиками.
4. А те, кто опасается хватальщиков за черпала, всегда могут помыть ложку ещё раз, а не жаловаться.

Всё то же самое касается и других столовых приборов.

@темы: Столовая, Наблюдения, Еда

URL
среда, 06 ноября 2024
05:30 Это не Питон
(но в Питоне тоже можно обосраться похожим образом)

В коде нашёл спящую ошибку. Есть строка типа...

char *str=new char[len];

В эту строку раз за разом копируется разный текст через strcpy

strcpy_s(str,len,src);//src каждый раз разный

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

Оставим в стороне вопрос о том, почему сразу не отправлять src. Тому есть причина.

Несколько копирований проходит успешно, но во время очередного я получаю access violation. Откуда он там может быть? Я тихо копирую в свою область раз за разом. Может быть, не хватает места?

Но путём отладки я обнаруживаю, что ошибка происходит при копировании в ПЕРВЫЙ байт. А когда это возможно?

Когда пытаешься копировать в const-область или типа того. Но у меня же не константная область? Точнее, не была константная ещё три строчки назад. Хммм...

Поднимаю глаза на предыдущие строки. А там примерно следующее:

if(very_rare_option)
{
str="Very rare string";
}

Много лет редкий флаг не выставлялся, поэтому строчка не выполнялась. Но я выставил этот флаг. В результате произошло присваивание. Но в Си++ строки таким образом не присваиваются. Тип правого выражения это const char *, а тип левого -- char *. Я присвоил константный указатель на строку и успешно с ним поработал. Но при попытке записи я стал записывать не по старому адресу, на который была выделена память, а по адресу &"Very rare string", который теперь содержался в str. А там запрещённая для записи область...

Естественно, пришлось переписать:

strcpy_s(str,len,"Very rare string");

И проблема исчезла.

@темы: Программирование, Фейлы, Говнокод

URL
вторник, 05 ноября 2024
05:20 Труп врага поднимается вверх по течению
Хотел я сделать фото одного дома, чтобы солнце освещало верхнюю половину, а нижняя была в тени. Естественно, это надо делать на рассвете.

У меня есть день, когда я прохожу это место в районе рассвета. Но время не то. Тем не менее, рассвет сдвигается. И вот я хожу, хожу. Думаю -- ну, может, ещё месяц -- и время будет удачное!

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

И вот я иду, но уже совсем в другое время и в другом направлении, и вижу, что кадр именно тот, что мне нужно. Но как это возможно? А потому что кроме рассвета есть ещё закат.

Я получил тот кадр, который хотел. Но с освещением с противоположной стороны.

@темы: Лайфхак, Случай из жизни, Восприятие

URL
понедельник, 04 ноября 2024
04:29 Развлечь телефонных мошенников
Когда сестре звонят мошенники или рекламщики, она не разговаривает с ними серьёзно. Она использует одну из легенд.

1. Кричит: "Я только что ребёнка спать уложила, а вы его разбудили! Я так больше не могу, я сейчас в окно выйду!"
2. Бодро: "А вы хотите поговорить об учителе нашем Люцифере?"
3. Каменным голосом: "И это то, ради чего вы отвлекли меня от мастурбации?"

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

@темы: Лайфхак, Мошенники, Звонки

URL
воскресенье, 03 ноября 2024
04:15 Стелс
Ехал с конюшни по неосвещённой дороге, остановился поспать. Поспал 20 минут, еду дальше.

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

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

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

ОКАЗАЛОСЬ

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

Ближний свет оказался полезнее, чем я думал.

@темы: Фейлы, Автомобили

URL
суббота, 02 ноября 2024
04:49 proxy
С детства я знал это слово только в компьютерном смысле. Работа через прокси-сервер была известна ещё в 2000-е. Прокси используются и сейчас, только они обычно называются "впн" (о детальных различиях говорить сейчас не будем).

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

Proxy -- юридический термин, означающий представителя, действующего по доверенности.

@темы: Восприятие

URL
пятница, 01 ноября 2024
04:58 Авторство перевода
В книжках мы всегда знаем, кто переводил. Там авторские права на первой странице указаны. В аниме мы много лет имели такую же ситуацию. Качаешь субтитры -- и там сразу указана и группировка, и поимённо все участники. Ну и ты знаешь уже, что у такой-то группы субтитры не очень, а вот у этой -- хорошие. Знаешь переводчиков по никам.

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

Качеством этих субтитров я очень доволен. Они выполнены профессиональными переводчиками, которые знают, что такое кашкинская школа (о которой мне рассказала Нора Галь). И тем не менее, есть один нюанс, который портит мне общую картину.

Эти субтитры стали безлики. У каждого переводичка есть ФИО и ник. Но они не указаны. Я не знаю, смотрю я на труд одного человека или десяти. Переводчик каждый раз один и тот же или разный. А я бы хотел знать...

Чем-то это напоминает ситуацию с актёрами дубляжа, только хуже. Актёров дубляжа можно по голосу узнать. В некоторых отраслях, например в том же АНИМЕ, сэйю: входят в авторский состав и всем известны. А субтитры... определить авторство текста гораздо сложнее.

Кто ты, боец невидимого фронта? Да, ты! Ты, который так удачно придумал переводить "Танака-кун-ттара" как "Ты неисправим!"?

@темы: Японский язык, Аниме, Наблюдения

URL
четверг, 31 октября 2024
02:12 Библиотека curses. Краткий обзор
Если линукс-приложение имеет симпатичный интерфейс с кнопочками в текстовом режиме, то обычно считают, что это сделано при помощи curses. Но, как оказывается, пользоваться ей не так-то просто.

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

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

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

-- Вывести текст в правый нижний угол экрана непросто (и я не уверен, что вообще возможно)
-- Во всех функциях первый аргумент -- ИГРЕК, а второй -- икс
-- Гарантированно поддерживается только 8 цветов. На многих терминалах поддерживается большее число, но рассчитывать на это нельзя. Далее, каждый терминал видит эти 8 цветов по-своему. Поэтому если вы сделали симпатичное сочетание, то при запуске другой терминальной программы вы рискуете получить нечто вырвиглазное.
-- Атрибуты типа жирный, мигание поддерживаются, но гарантий что они будут отображаться -- нет.
-- Рамочка у псевдо-окон доступна по-умолчанию только одна, одинарная. Для рисования любой другой надо вручную передать 8 символов, которые будут служить границами. Эта рамочка после рисования сразу забывается, поэтому если вы будете выводить сплошной текст, он будет затирать рамку при переносе строки.
-- Поля ввода поддерживаются, но другие контролы типа кнопок, чекбоксов -- нет. Делайте сами.
-- Скролл мышкой гарантированно работает только в одну сторону, через BUTTON4. Скролл в другую сторону генерирует сигнал, который у меня совпал на видне, на линуксе в ssh через putty и в xfce в эмуляторе терминала. Но у этого кода нету именованной константы. Я его подобрал. Это 0x200000. Как вы понимаете, нету гарантий, что это есть на всех реализациях.
-- Проблемы с передачей сочетаний с Alt и с кнопкой Esc. В винде всё работает идеально (что забавно), а в линуксе после эскейпа идёт пауза 1-2 секунды. Видимо, ждёт ввода эскейп-последовательности. Это, кажется, можно победить. Но получить через терминал готовые сочетания типа "M_a" ("ALT_A") невозможно. Вы сначала получите код 27, потом надо ещё раз вызвать getch(). Возможно, при не-удалённой работе линукса на собственном железе этих проблем не будет, пока не проверил.
-- При работе через ssh надо следить, чтобы тип эмулятора терминала с обоих сторон совпадал. Иначе у вас будут неправильно работать клавиши F1...F12. И не только.
-- При работе в графических эмуляторах терминала происходит перехват части нажатий в пользу менюшек. Это можно отключить, но это геморрой.
-- А заставить в линуксе правильно обрабатывать Home, End пока вообще не вышло. Приходит по 3-4 нажатия. Буду разбираться.
-- Самое неприятное, что разницу в работе вы обнаруживаете только в процессе работы. Я работал с библиотекой через питон. И вот вы запускаете один и тот же исходник на одной и той же системе с одной и той же версией пакета curses -- и получаете разный результат в разных терминалах (и ещё отдельный результат через ssh).
-- Команда изменения размера терминала работает через раз. В винде она отрабатывает правильно (что забавно). В линуксе изменяется виртуальный размер терминала, но реальный -- не всегда. При этом терминальная программа сама решает, какие строчки выводить. Например, она понимает, что такое статусная строка, и будет выводить последнюю строку экрана в приоритете. Но часть другого может не понять. И как мне работать? Пользователь может запустить терминал в размере 10 на 10 символов. Иногда это приводит к падениям программы, если пытаться вывести в границах виртуального экрана, но за границами реального. Хотя вроде вызываешь изменение размера, потом проверяешь -- всё ок. Выводишь символ в разрешённую позицию -- и программа падает. *пингвин кланяется* Это происходит не всегда, в глубинной причине не разобрался.

Выводы:
-- Если ваша основная задача это вывод текста в определённой позиции экрана, то всё хорошо
-- Надеяться на стабильное оформление нельзя
-- Надо рассчитывать на минимум доступных цветов, цветовых пар и прочего. При этом ваш терминал может на самом дел всё поддерживать (например, при игре в NetHack через Putty+SSH я вижу больше цветов, у меня работают все сочетания и автоизменение размера экрана, но библиотека говорит, что больше не может)
-- Удивительно, но неплохо работает мышка, хотя это вообще не основная задача терминала

Мне уже Minoru подсказывал альтернативные библиотеки по работе с экраном (STFL, он пишет, что мёртвый). Тем не менее, если вы знаетете библиотеку, которая позволяет:
1) Работать в питоне и с виндой и с линуксом
2) Делать не только поля ввода, но и менюшки, и кнопки и прочее (привет Turbo Vision)
3) Делать стабильное оформление

То сообщите мне.

@темы: Программирование, Борьба с техникой, Статьи

URL
среда, 30 октября 2024
06:05 Telegram. Картинка под текстом
Обычно в постах картинка располагается над текстом. То, что ниже, технически является "подписью". Тем не менее, иногда можно видеть текст, а картинку в конце. Я спрашивал у специалистов, мне сказали -- идите в бота, бот вам сделает пост с картинкой снизу. Бот действительно сделал, но как это работает на самом деле?

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

Это картинка-превьюшка. Вы, возможно, видели, когда содержимое гиперссылок отображается внизу поста. Это касается instant view, видео с ютьюба, а также гиперссылок на картинки. Характерной особенностью всех этих вариантов является вертикальная черта, нарисованная слева от превьюшки. И у того поста, который мне сделал бот, вертикальная черта была. Но не было гиперссылки в тексте!

Я скопировал текст поста и вставил в текстовый редактор. И я обнаружил гиперссылку. Невидимую! Потому что она состояла из непечатного символа.

Вот и ответ.

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

***

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

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

1. Чтобы команда появилась, надо сначала ввести текст подписи (хотя бы один символ)
2. На устаревших клиентах подпись всё равно будет отображаться снизу.

@темы: Борьба с техникой, Telegram

URL
вторник, 29 октября 2024
04:30 Windows 11 -- установка
В целом, я расстроен технологиями последних лет. Кроме, может быть, локальных нейронных сетей: потому что они дают возможности и свободу, а не забирают их, как многое другое.

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

I agree everything will be deleted including files, apps and settings

И пока галочку не поставишь, некст нажать нельзя.

Тут у меня двоякое отношение. С одной стороны, и так известно, что установка ОС это опасная процедура, во время которой могут быть повреждены данные. Можно случайно не тот раздел отформатировать, в конце концов (реальный случай). С другой стороны, у нас всегда был доступен апгрейд предыдущей версии. Это по политическим причинам апгрейд больше невозможен? Или этому есть технологическое об'яснение?

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

@темы: Программы

URL
понедельник, 28 октября 2024
01:45 Юморист
Был в шиномонтаже, всё сделали, говорю с администратором:

-- Давайте оплачивать.
-- Давайте. У вас как оплата?
-- По карте.
-- Хорошо. А по карте наличными?
-- Вы угораете?
-- У вас перевод на карту?
-- Нет, прикладывается.

(это он что, называл оплату прикладыванием "по карте наличными"? или он реально прикалывался?)

***

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

-- А вы это как будете считать? По гарантии? Или надо будет оплатить?
-- Это будет по гарантии... оплатить.

@темы: Викторика, Автомобили

URL
воскресенье, 27 октября 2024
08:28 Что меряет УЗО?
УЗО меряет разницу тока, выходящего через фазу розетки и входящего обратно через нейтраль. Если разница равна нулю, можно работать. Если разница не равна нулю, то кто-то схватился за розетку, и часть тока утекает через него.

Выключил автомат, ковыряюсь. Замкнул случайно нейтраль и заземление. Вышибает УЗО. Почему?

Автомат выключает только фазный провод. Нейтраль подключена всё время. И на ней никогда не ноль (ноль там только в идеальном случае). Поэтому замыкание нейтрали на землю создаст ток. Который, очевидно, не будет равен току через фазу, потому что фаза отключена физически, и через неё ничего не течёт.

@темы: Электроника

URL
суббота, 26 октября 2024
01:45 Буква Зю
На ЖК-дисплеях на дорогах часто показывают или фактическую информацию о дорожной обстановке или какие-нибудь советы типа "осторожно, с нами мотоциклисты" или "осторожно, меняйте шины на зимние". Сейчас везде висит об'явление о том, что пользоваться смартфоном во время езды опасно. Но при этом смартфон изображён чёрного цвета. Такого же, как цвет фона. Издалека смартфон почти не виден. Кажется, что нарисован логотип в виде буквы Z на боку.

Собственно говоря, вот как это выглядит. Извините за плохое качество:



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

@темы: UX, Автомобили, Наблюдения

URL
пятница, 25 октября 2024
05:51 Добавка к штрафу
На сайте ГИБДД можно проверить штрафы, выписанные на определённый автомобиль. Не надо быть его владельцем, чтобы проверить. Но надо кроме номера машины знать ещё номер СТС (свидетельства о регистрации). Вы знаете эти два номера -- и вы смотрите штрафы. Штрафы видны не все, а только неоплаченные, но именно неоплаченные интереснее всего.

Если штрафов на машине нет, то пользователю просто показывается информация, что штрафы не найдены. А если штрафы есть? Тогда перед просмотром таблицы со штрафами вы должны посмотреть рекламу! Да, реклама социальная, но сама идея зависимости рекламы от наличия штрафов -- это весьма впечатляюще.

@темы: Автомобили, Наблюдения

URL
четверг, 24 октября 2024
03:16 Ютьюб блочит впн
В России мы имеем двоякую проблему: одни сайты блочит РКН, другие блочат Россию. А некоторые блочатся с обоих сторон.

С различными ВПН в кармане ходят даже дети, но это помогает не всегда.

На днях я обнаружил, что мой ВПН был заблокирован ютьюбом. Я стал получать сообщение Sign in to confirm you're not a bot. При этом я уверен, что необычных действия я не совершал, и с моего айпи-адреса больше никто не выходил. Вот какую информацию мне удалось собрать:

1. Ютюьб использует метод "анального огораживания", а именно, блочит не только спамящий айпишник, но и соседние (вплоть до подсети). Поэтому не надо что-либо делать, чтобы тебя заблочили.
2. По-видимому, активизировались блокировки в последние полгода.
3. Если залогиниться в жмейл/другой гугл аккаунт, то ютьюб работает. (только вот логиниться не всегда возможно, и не всегда желательно)
4. Удивительно, но без логина показывает через официальное мобильное приложение. Но при этом с одного устройства показывает нормально, а с другого только две минуты, а потом перестаёт подгружать. Можно сразу перемотать на нужное место, но перематывать каждые джве минуты -- это геморрой.

(сменить айпишник не предлагайте, пока не могу)

@темы: Борьба с техникой

URL
среда, 23 октября 2024
03:59 Live and drink, traveller
То, что в магазинах стало плохо с соками -- это я заметил давно. Но почему-то больше всего досталось сокам 0.2 литра (и это произошло в последние полгода или меньше). Как выяснилось, они проходят по категории "детское питание". Точнее, теперь проходят. Раньше и на стендах с обычными соками были 0.2, а теперь всё перенесено туда (во всех магазинах).

Маленькие соки мне периодически нужны, поэтому-то я и обнаружил следующие новшества.
1. Уменьшенные пакеты. Казалось бы, куда уж уменьшать 200 мл? До 120...150, например. Это уже выходит за пределы "шринкфляции". И это, простите, один глоток.
2. Смеси. Полноразмерные соки тоже в большинстве своём являются смесями. Но одновкусовые соки всё же есть, хотя и не в таком большом количестве, как раньше. Маленькие соки же из одного вкуса есть только одного вида: яблоко. Наверное, ещё томат есть, но это я не отследил. Надо в Ашан зайти, посмотреть, что там. Потому что одновкусовых соков Каждый день раньше было достаточно.
3. "Напиток". Минимум два изготовителя решили уменьшить количество сока открыто. Например, появился "напиток супер-джус" с пометкой: "сок+вода". СОК ПЛЮС ВОДА. И так известно, что соки делают из концентратов и они содержат в себе воду. Но в других соках, видимо, нет столько воды, чтобы приходилось указывать воду в заголовке.

Выводы я делать не буду, я просто исторически фиксирую.

@темы: Наблюдения

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

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

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

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

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

@темы: Борьба с техникой, Электроника

URL
понедельник, 21 октября 2024
05:34 Повешу вторую
Сестра решила сепарироваться от мамы и, в общем, она переехала ко мне.

В туалете у меня специальная полочка для размещения там смартфона. Очень удобно.

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

@темы: Случай из жизни, Викторика

URL