LLeo

Subscribe to LLeo feed LLeo
Леонид Каганов: блог
Updated: 56 min 27 sec ago

2025/01/22_1 - Ну и как это теперь развидеть?

Tue, 2025-01-21 22:00
Еду в автобусе дальнего следования. Следовать ещё долго. И тут мне на ухо сообщают, что вот это впереди в темноте — не ряды кресел, а злые сербские монашки, которые все обернулись и на тебя смотрят... Остановите, пожалуйста, я выйду прямо здесь, в лесу.
Categories: Friends

2025/01/22 - Бобр и другие музыкальные новинки

Tue, 2025-01-21 22:00
Бывает, что сам ты программист, а жена музыкальный продюсер. Ты сделал свой собственный мессенджер и рассказываешь ей про шифрование и цифровую подпись, а она тебе что в ответ? Про музыкальные новинки года, разумеется. Год только начался, а новинки уже есть. Хита два. Поскольку вы тут все у меня программисты, я знаю, вам тоже будет интересно. Хит номер один: Слава Скрипка «Сидим с бобром». https://www.youtube.com/embed/5oQSie6Rk0Y?rel=0&showinfo=0 Кто их программистов ещё не поставил себе VPN, для вас ссылка на VK: https://m.vk.com/artist/slavaskripka Второй хит давно ушедших новогодних праздников: группа Йемен «Лучший работник». https://www.youtube.com/embed/y6Z1fyG9lNY?rel=0&showinfo=0 VK: https://vk.com/audio2000510797_456245182
Categories: Friends

2025/01/18 - Русский народный роман-с

Fri, 2025-01-17 22:00
Внезапно нашел на домашнем сервере забытое: старинный русский романс (или даже правильней роман-с?) «Я в душе не ебу». В феврале 2018 я, видимо, задал себе ряд вопросов. И переехал в Петербург. А 11 марта даже впервые в жизни спел этот романс на квартирнике у Гороховского, отбивая ритм ладонями по крышке случившегося там рояля. Жизнь сразу стала интересней, и даже про романс я забыл. А он вот, роман-с. Всегда вовремя задавайте себе вопросы.

РУССКИЙ НАРОДНЫЙ РОМАН-С Я в душе не ебу, для чего и кому это надо? Накрывает досада на лихую судьбу. Продолжая ходьбу по аллеям осеннего сада, я в душе не ебу, я в душе не ебу. Где мои бриллианты? Мои орхидеи и феи? Почему я в Капотне? А не на песках Малибу? Почему как резьбу нарезаю круги по Москве я? Я в душе не ебу! Я в душе не ебу! Букингемский дворец остужает ночная прохлада... Зеленеет Канада... Гольфстрим изгибает губу... Я в душе не ебу — почему я не там, а у МКАДа? Вот в душе не ебу! Я в душе не ебу! Из маршрутки шансон проливается душный и скверный... В придорожных тавернах чечня начинает пальбу... Нефтяную трубу кто-то пилит надрывно и нервно... Кто? В душе не ебу! Я в душе не ебу! Почему я, как есть, перемазан в побелке фасада? И от пива помятую жесть прижимаю к разбитому лбу? Почему минус шесть?! На аллеях — казалось бы, вроде бы, сцуко — ещё календарноооо-осееееееннего сада?! Я в душе не ебу! Я в душе не ебу! Я в душе не ебу, почему, благороднай и тонкай, до сих пор не в Париже с японкой, не в Софии с цейлонкой вовсю нарушаю табу... Я в душе не ебу, почему просто так, сисадмином, в конторе, на сраной сижу повремёнке? Потому что мудак. Почему? А в душе не ебу! 24.02.2018 Мотив, надеюсь, вы себе представляете. А если нет, любая нейросеть вам споет. Только мне не показывайте, я по старинке, по крышке рояля.

Categories: Friends

2025/01/16 - Продающие картинки

Wed, 2025-01-15 22:00
Как продать три косточки от винограда за полтыщи рублей в кредит на 4 месяца. И внезапно становится не так уж актуальна Притча о садовнике и писателе Многие ли из писателей сегодня получают столько хотя бы за страницу?
Categories: Friends

2025/01/12 - Для скучных программистов: немного о шифровании на фронтендах

Sat, 2025-01-11 22:00
Некоторые вещи мне удобно записывать для себя в дневник как в блокнот. Но вдруг кому-то тоже будет интересно? Современные криптографические методы (из легкодоступных в браузерных приложениях) — это эллиптические кривые семейства 25519 и хороший AES с длинными ключами. Обычно по надежности (а иногда и скорости) они уделывают все эти старинные RSA и прочий криптохлам, который используется до сих пор, например, в PGP. AES позволяет надежно шифровать данные и расшифровывать обратно симметрично (одним тем же паролем, плюс еще придется к шифрованным данным запомнить пару коротких констант). AES давно уже встроен аппаратно в любой браузер, и доступен для JS-разработчика как метод crypto. Ниже я накидал две простые функции, как его использовать:

=============== cut ===============
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
=============== /cut ===============

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

=============== cut ===============
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF8ZJDFjcdno13Rez/ebX5/i77YJRg3ODXuQbZgbt2nD lleo@lleo.me
=============== /cut ===============

Для JS-разработки существует библиотека noble: https://github.com/paulmillr/noble-ed25519 Её можно использовать и в nodejs-проектах и даже на веб-фронтенде — в полной версии (непакованная) она занимает всего 100кб. Для сравнения: библиотечища PGP openpgp.min.js весит более 600кб, и это дико пакованная. Что умеет библиотека 25519? Вот например: 1. Сгенерировать новый приватный ключ. А к нему — публичный. Приватный вы храните в тайне, публичный показываете всем. 2. Цифровая подпись. Своим приватным ключом вы можете подписать любые данные. Получатель, зная лишь ваш публичный ключ, всегда сможет проверить, что данные подписали именно вы. 3. Асимметричное шифрование данных для конкретного получателя, зная его приватный ключ (чтобы расшифровать эти данные смог лишь человек, обладающий приватной частью этого ключа). Тут интересный принцип. Старый алгоритм RSA позволял просто взять и зашифровать данные чужим приватным ключом. Алгоритмы 25519 работают чуть сложнее — они используют принцип «общего секрета». Это некий «общий» пароль для А и Б, который нигде не хранится, потому что в любой момент его можно вычислить, причем двумя способами: либо зная публичный ключ А и приватный Б, либо, наоборот, приватный Б и публичный А. Хитрая математика все равно вычислит «общий пароль» одинаково. Поэтому как работает шифрование данных для абонента для его публичного ключа? Первым делом генерируется временный ключ. Он позже будет забыт. С его помощью (используя приватную часть ключа и публичный ключ получателя) вычисляется общий пароль. Остаётся этим паролем тупо и симметрично зашифровать данные (при помощи того же мощного AES), а в комплект к шифровке добавить публичную часть временного ключа. Данные отправляются, все временные ключи и пароль отправитель уничтожает. Теперь никто, кроме получателя, не сможет это расшифровать обратно. А он сможет — добавит к публичному ключу свой приватный и легко вычислит, каким был общий пароль, которым шифрованы данные. И столь же симметрично их расшифрует. 4. Возникает интересная проблема: ну хорошо, а как зашифровать таким способом данные для нескольких получателей, не дублируя сами данные? PGP на старом RSA в этом смысле работал проще: если можно шифровать что-то, зная лишь публичник адресата, то данные шифруются единым паролем, а сам пароль шифруется много раз для каждого из адресатов и прикладываются к данным по числу получателей. Данные не дублируются, а шифрованных паролей можно напихать для каждого, они же относительно короткие (спойлер: в RSA не очень). С x25519 это явно не сработает, поэтому схема усложняется. Мы генерируем единый пароль для шифровки данных (любого типа, не обязательно ключи 25519). А далее — как всё в предыдущем пункте, с той лишь разницей, что шифруем не данные, а сам пароль. То есть — генерируем столько временных ключей 25519, сколько у нас получателей, и для каждого получателя шифруем пароль. К общей посылке у нас добавляется по числу получателей: 32 байта публичного временного ключа + 48 байт шифрованный пароль + 32 байта на сам публичник получателя, чтоб он разобрался, какой из паролей шифрован для него, и ему не пришлось раскрывать данные подряд всеми чужими паролями, пока не увидит, что информация теперь расшифровалась чуть более осмысленно. Итого — чуть больше 100 байт на получателя. 5. Да, еще есть неочевидный нюанс, что генерится пара ключей обычно в формате Edwards (ed25519), а использовать для поиска общего секрета можно только ключи формата Mongometry (x25519), но это уже сущие мелочи, это делается легкой конвертацией ключа в одну строчку.

=============== cut ===============

=============== /cut ===============

=============== cut ===============
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
=============== /cut ===============

Файлик: cryptotest.js Временная копия библиотеки: noble-curves.js Теперь вы можете нарисовать прямо в браузере свой собственный pgp-протокол, если конечно начальство позволит.

Categories: Friends

2025/01/11 - Если бы повара работали как программисты

Fri, 2025-01-10 22:00
Вольный перевод на русский. Дорогие клиенты, в нашем кафе много новых улучшений! 1. кастрюля и ведро для мойки полов теперь раздельны 2. мясопродукты без червей и личинок 3. в салате не встретить ноготь проститутки 4. наш повар прошел лечение от туберкулёза, хламидиоза и перхоти 5. конские потроха мы больше не закупаем у цыган под мостом 6. мы выгнали официанта, который сморкался в безе 7. починен холодильник, развешены свежие липучки для мух 8. крупные надписи на банках теперь не позволят путать соль с порошком от тараканов 9. сынок директора, который ночами казнил крыс в мясорубке, наконец сел за наркоту Дополнение: в пунктах этого не перечислено, но вы сами заметите, что теперь ради вашей безопасности мы запретили ssh не подаем ножи. Ими всё равно никто не пользовался, наши посетители обычно едят руками.
Categories: Friends

2025/01/10 - Примерно так

Thu, 2025-01-09 22:00
Categories: Friends

2025/01/09 - Праздничного вам в ленту

Wed, 2025-01-08 22:00
Когда меня всё детство учили кричать «нет войне» и «ёлочка, гори», а потом я вдруг вырос и получаю рекламу в ВК.
Categories: Friends

2025/01/08 - Для истинных сомелье: не просрочка, а ферментация

Tue, 2025-01-07 22:00

Пуэр лежал в земле как зомби,
но как-то в полночь невзначай
он вылез, сбрасывая комья...
и в чай! Уже не так страшна цена 90 рублей — если поехать в Ашан и попасть на скидку, можно взять и по 56. Зато новые вкусы отвечают на новые вызовы. Но вот вопрос: продолжается ферментация при дальнейшем хранении как у вина или останавливается как у коньяка?

Categories: Friends

2025/01/07 - С Рождеством!

Mon, 2025-01-06 22:00
Categories: Friends

2025/01/05 - Как сделать уютный камин из Тик-Така

Sat, 2025-01-04 22:00
Для домашнего уюта в вечерней комнатной темноте можно сделать уютный карманный камин. Для этого нам потребуется обычная баночка Тик-Така и обычный телефон. Включите фонарик или воспользуетесь скриптом на этой странице для мигания фонариком. Поставьте баночку на фонарик. Выключите общий свет. Камин готов! Уютных праздников.      
Categories: Friends

2025/01/01 - С наступившим

Tue, 2024-12-31 22:00
Categories: Friends

2024/12/28 - Долой китайские VPN

Fri, 2024-12-27 22:00

Крепчает охват интернета,
грядёт орбитальный сигнал.
Россия в порядке ответа
желает, чтоб враг понимал:
его технологии жалки,
в России растут как грибы
глушилки, давилки, сбивалки,
лучи электронной борьбы.
Мы в плане вредительства — боги!
Мы в сфере помех — короли!
И нету таких технологий,
чтоб мы их сломать не могли!

2018 Несознательные граждане, пользующиеся VPN, уже заметили, что некоторые VPN перестали работать вообще, а некоторые перестали работать с мобильных операторов. Вызвано это тем, что Россия успешно импортирует китайскую модель и оборудование. Если раньше VPN класса shadowsocks (например, Outline) работал, потому что шифровал трафик неизвестным Китаю способом, то теперь проводятся эксперименты по отключению любых непонятных способов шифрования путем потери выборочных пакетов. А этого shadowsocks не переносит. Разумеется, мы все очень рады, что наконец-то усилились меры борьбы с VPN! Однако, как объяснил мне мудрый Chuk, есть в этой борьбе некоторые недоработки. Связаны они с тем, что вслед за оборудованием по взлому частного трафика из того же дружественного Китая подъехали и новые технологии его обхода. Нынешние VPN-протоколы давно забили болт на свои чисто транспортные задачи (изначально VPN был изобретен вовсе не для обхода цензуры), а занялись активным противодействием. В частности — научились шифровать трафик, подделывая его под обычный ws https. Мерзавцы пользуются тем, что заблокировать ws и https пока не получается — встанут все банки, заводы, билетные кассы, у молодых родителей отключатся вебкамеры для наблюдения за детской кроваткой, а у пожилых генералов — камеры на заборах военных объектов... А отличать обычный https от необычного мы пока не умеем, потому что и там и там просто шифрованный поток. Китайские ученые давно бьются над задачей, но пока тоже безуспешно. Чтобы проверить, умеет ли ваш домашний провайдер или мобильный оператор блокировать новые вредоносные китайские VPN, сделаем самопроверку. 1. Очень хорошо, если у вас уже есть свой сайт на зарубежном хостинге с линуксом. Иначе придется купить хостинг. Можно даже уговорить зарубежного друга поставить Raspberry в углу на свою домашнюю сеть, если там внешний IP, и пробросить на роутере порт 80 (ну или 443, если не дружите с CloudFlare). В любом случае очень неплохо, если DNS заведен через cloudflare.com и не придется морочиться с собственными сертификатами ssl для https. 2. Скачиваем китайский инсталлятор https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/refs/heads/master/install-release.sh и запускаем от root. 3. Правим конфигурацию, я рекомендую для тестов создать сразу три протокола: shadowsocks, Vmess и VLESS (самый новый). Если у вас был раньше установлен shadowsocks-libev, убейте его навсегда. Пример: /usr/local/etc/v2ray/config.json (ключ ID придумайте сами). Мы подняли 3 протокола: VLESS на внутреннем порту 2025, shadowsocks (открытый) на порту 1984 и Vmess на внутреннем порту 2024. 4. В конфигурации nginx для своего сайта добавляем два эндпоинта: /vless с портом 2025 и /vmess с портом 2024. Пример: /etc/nginx/sites-enabled/mysite.conf Имеется в виду, что соединение идет на ваш сайт murzilka.com и попадает на DNS CloudFlare, тот устанавливает tls-соединение как https, а сам общается с вашим сайтом по 80 порту, и никто снаружи не знает, где ваш сайт находится, и на какой конечный адрес (murzilka.com/vless) идут данные. 5. Настраиваем клиент под мобильник. Удобный, бесплатный и не глючный называется v2rayNG (Андроид) или FoXray (iOS). Поля вводим в настройках такие:

=============== cut ===============
Название: Проверка VPN Адрес: murzilka.com Порт: 443 ID: 111111-aaaa-bbbb-cccc-222222222 Шифрование: none Транспорт (Сеть): ws Узел ws: murzilka.com Путь ws: /vless TLS: tls Разрешать небезопасные: false
=============== /cut ===============

А вот красивого клиента под Linux с одной кнопочкой я не нашел, поставил Nekoray (sudo apt install nekoray) Он страшненький, непонятный и малость глючный, но работает. Вот и вся настройка. Теперь вы даже сможете прочесть на Хабре забаненную статью про все эти технологии: https://habr.com/ru/articles/727868/ Там, кстати, написан один важный момент: разные технофрики вам будут говорить, что надо сверху накрутить еще для пущей крутизны дополнительно то, пятое и десятое, однако не следует бежать быстрее медведя, это его только расстраивает: достаточно бежать быстрее самых медленных бегунов. Ну и конечно не забудьте снести всё это, как только протестируете. Ведь наша цель — всего лишь выяснить, умеет ли ваш провайдер уже бороться с новыми китайскими VPN. Если не умеет пока — напишите ему, пусть исправляется. Я вижу, что домашние операторы в Питере и Чертаново пока не умеют блокировать ни shadowsocks, ни vless, ни vmess. А вот мобильный оператор Тинькофф уже научился блокировать shadowsocks, хотя против новых китайских vless/vmess по-прежнему бессилен. Скорей бы уже все VPN запретили! Я категорически против любых нелегальных VPN, от них бездуховность, мошенники и вирусы. PS: Кстати, забавно, что мне бы пригодился VPN вовсе не по причине обхода российских блокировок, а по причине обхода западных: без VPN для российских IP запрещен вход на chatgpt.com А я как-то уже совсем разучился без него программировать.

Categories: Friends

2024/12/25 - Теперь зелёный: ни у кого вопросов нет

Tue, 2024-12-24 22:00
Триумфальная арка в городе — древнее сооружение языческого смысла. Триумфальные арки начали строить в античные времена из материалов того времени — белый мрамор или белый известняк. В дальнейшем все города мира тырили дизайн друг у друга. Дизайна, собственно, было два — однопроходная арка наподобие Триумфальной в Париже, Дели, Москве или колоннада наподобие Бранденбургских ворот или арки в Питере на Московском проспекте. Арка — декоративный городской элемент, она ставится в почетном месте, и ее транспортный смысл сергодня отсутствует. За редчайшими исключениями (например, салатовая Нарвская арка) арки строили белыми, сохраняя античную традицию. Перекрашивание старинной арки в новый цвет — удивительный нонсенс. Особенности цветовых решений эпохи позднего Путина ещё ждут своих исследователей и диссертаций. Но вкратце вектор понятен: сугубо военный темно-зеленый цвет советских бронетанковых войск. Именно в этот цвет выкрашен новый Храм Военных на Кубинке, именно в этот цвет после недавнего «ремонта» перекрасили историческую арку на Московском проспекте в Петербурге. Хотя Питер — город особый, где у каждого в кармане если не топор, то фига. Поэтому нельзя отбрасывать и версию, что в правительстве Петербурга просто окопались враги и иноагенты, посылающие нам сигналы. Поскольку анекдот о перекраске Мавзолея в зелёный цвет, разумеется, помнят все, кто застал Перестройку. Уж слишком популярен и общеизвестен этот анекдот:

=============== cut ===============
Эпоха Перестройки. Учёным удалось оживить товарища Сталина. Ему показали новые реалии и спросили, что он думает. — Во-первых, — сказал товарищ Сталин, попыхивая трубкой, — необходимо немедленно расстрелять всё руководство страны, включая всех депутатов. Во-вторых — перекрасить Мавзолей в зелёный цвет. — Но... — растерянно переглядываются учёные, — зачем же перекрашивать Мавзолей в зелёный? — Я знал, — отвечает товарищ Сталин, — что по первому пункту ни у кого вопросов не будет.
=============== /cut ===============

Categories: Friends

2024/12/21 - Немного культурного кода из сокровищницы Родины

Fri, 2024-12-20 22:00
«Прощай Земля! Пора настала: летит ракета в небеса. Летит ракета в небеса — несёт по свету чудеса... А без меня, а без меня — тут ничего бы не летало. Тут ничего бы не летало — когда бы не было меня...» https://www.youtube.com/embed/S1UFfqIj9zo?rel=0&showinfo=0 У кого нет нормального VPN для просмотра Ютуба, погуглите знаменитого Марка Бернеса «Песенка моего друга». Кстати, удивительно, но конкретно куплет про ракету есть не во всех фонограммах.
Categories: Friends

2024/12/18 - London

Tue, 2024-12-17 22:00
Друзья, если боженька как обычно не посмеется над людскими планами, собираюсь в январе 9-15 быть в Лондоне и Оксфорде. Если есть какие-то идеи насчет устроить почитать вам стишков или просто встретиться погулять-общаться, пишите!
Categories: Friends

2024/12/17_1 - Осторожно, меня взломали!

Mon, 2024-12-16 22:00
Если вы получали от меня какие-то сообщения с просьбой денег, ни в коем случае не присылайте мне денег! В любой непонятной ситуации просто удаляйте сообщение!
Categories: Friends

2024/12/17 - This account has been hacked

Mon, 2024-12-16 22:00
I am the humblest virus in the world, wandering the internet with the sole intention of stealing an hour of your time. Why? To inform you that the novelette, published in the May issue of Asimov's SF, is now available online: https://alexshvartsman.com/2024/12/03/the-rattler-by-leonid-kaganov If you simply liked (or didn’t like) the story, please leave a thoughtful review wherever fans of English-language SF gather. And if you happen to be a nominator or a voter for the Hugo, Nebula, Locus, or BSFA awards, then today the virus is having a fantastically lucky day. Bear in mind: this virus is incredibly modest. Thank you for letting it steal so much of your time.
Categories: Friends

2024/12/14_1 - Готовим солянку

Fri, 2024-12-13 22:00
Решил сварить солянку по настоящему отцовскому рецепту. Солянка, кто не знает, — это не солянка, которая солянка, и не та солянка, которая солянка, а та, которая суп с копченостями. Поискал рецепт в дневнике — не нашел, только рассольник, змеиный супчик, русский Том Ям, блины... Вес тэги «кулинария»: https://lleo.me/dnevnik/tag?tag=%EA%F3%EB%E8%ED%E0%F0%E8%FF Но точно помню, что когда-то записывал рецепт и делал фотки, как отец готовит солянку! Пошел искать фотки. Фотки у меня вообще-то в порядке. Ну, как в порядке... Относительно всей прочей моей жизни фотки у меня относительно в порядке и структурированы. Разложены по годам и папкам. Чутье подсказывало, что солянку следует искать в папке «Съемки». Потому что точно не «Поездки и конвенты», скорее всего не однодневные «Мероприятия», и уж конечно не «Документы», «Человеки», «Семья», «Приколы» или «Херня». Но в каком году это искать? Открываю архив прмерно года за 2008, а там... Изумился, потому уже сам не помнил таких названий. В папку «Съёмки» у меня попадало всё, что попадало на глаза: приготовление еды, смешные вывески, дурацкие товары в магазинах и прочая городская и бытовая дурь (за которую в те далекие годы никто даже не оскорблялся). Вот немножко идиотизма: А солянка нашлась тоже! В папке 2009. Но на всякий случай я позвонил отцу и еще раз уточнил рецепт. Вот он: Для солянки нам потребуется: мясо (свинина, говядина, желательно с костями), морковь, картошка, лук, рис, томат-паста, хорошие соленые огурцы, разнообразные копчености, соль, специи (лавровый лист, укроп). Желательны также консервированые маслины, обязатеьлно каперсы, лимон и сметана. Действие первое: варим мясо в холодной воде, с костями, когда начинает кипеть — снимаем пену. Когда закипело и сняли пену, кладем одну морковку и одну луковицу (их потом выкинем), а также соль. Соль я всегда кладу из расчета 1 чайная ложка с горкой на 1 литр.

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

Тем временем продолжаем обжаривать на скоровородке.

И наконец вываливаем все в кастрюлюи варим еще минут 10-15.

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

Все страницы по теме «кулинария»: 2019-09-06: Готовим ленинградский рассольник с читалкой PocketBook 641 Aqua 22018-04-23: Исконно русский суп Том Ям2016-10-29: Кулинарии пост: стейк по-чертановски2016-01-30: Хачапури по-аджарски2014-08-25: Рецептик соленых огурцов от бабушки?2013-12-13: Суп из пива с семками по-чертановски2012-03-28: КАК СВАРИТЬ ЯЙЦО В МИКРОВОЛНОВКЕ2010-02-15: F5.RU: Блинам!2007-08-21: RAZGOVOR.ORG: Настоящая мужская кулинария2005-12-22: Как грызть кедровые орехи: мастер-класс Юлия Буркина

Categories: Friends

Pages