Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Декабрь 2024
ПнВтСрЧтПтСбВс
1
2345678
9101112131415
16171819202122
23242526272829
3031
Теги
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

26 янв 2023 Чт Немного о спектруме и то, как он у меня появился

Пиииии... тшик. Пииии.... Короче, это была имитация звука загрузки спектрума. Что я могу сказать про него? Вообще я раньше уже рассказывал о моем знакомстве с этим компьютером, возможно, вскользь. Впервые спектрум я увидел, когда попал в город К., перед этим я приехал из города В., и начал активно искать, где бы посидеть за компом. Когда я приехал в город К. в 1999 году, я поступил в 5-й класс, сначала в школу номер 2. Город был мне незнаком и мы несколько раз переезжали, прежде чем оформились в каком-то определенном месте в некоторой квартире. Переездов было довольно много, сначала возле детского сада и школы, потом поближе к школе, потом еще в одном доме на той же все улице. Мы ездили и ездили каждый месяц с места на место и никак не могли найти долговременное жилье, все потому, что у нас не было никаких денег — совсем не было ничего.
Еще одним промежуточным перевалом было месячное проживание в бараке у папиного друга. Странно он к нему относился почему-то. Оба алкаши. А ладно, не буду вспоминать. После барака мы переехали еще в один, еще худший вариант в совсем уж дурной дом. В то время как раз я нашел компьютерный кружок, который только-только открывался и у меня была наконец-то возможность найти свое занятие по душе — программировать. Преподавателем этого кружка был С.Ю., человек достаточно странный и интересный с какой-то стороны. Я уже не могу точно сказать ни как он выглядел, ни какой он был человек. Память постепенно стирается...
Когда я туда пришел, там было довольно много учеников, с некоторыми я даже подружился. Помню одного, с которым мы много чего обсуждали — его имя Макс Ч. И вот как раз в этом кружке узнал, что у него был спектрум, причем очень навороченный — 128k с AY-чипом и дисководом. Скорее всего это был Pentagon, судя по всему, или Scorpion, этого я сказать уже не могу, не помню. Помню только то, что этот компьютер меня заинтересовал тем, что на нем была очумительная музыка, диск и там шли графические демки. Они меня по-настоящему очаровали и заворожили. Мне потом все время хотелось нарисовать демки разные и работать с трехмерной графикой.
Помимо спектрума, я также сидел на УКНЦ — именно той, у которой тоже был дисковод и где можно было сохранять и загружать программы. Хотел для нее сделать Norton Commander для бейсика, но так и не смог, и потом уже было бесполезно этим заниматься. Программу я сохранил на будущее, и до сих пор ее держу и дорожу как зеницей ока.
В 2000 году мы переехали в другой дом, который я называю "желтый дом", потому что он был каменный и покрыт желтой краской. В этом доме мы прожили примерно с 2000 по 2007, вроде как, если не ошибаюсь. В то время это была самое длительное время, когда мы жили в каком-то одном месте — аж целых 7 лет! До этого мы постоянно куда-то переезжали, не имея своего жилья и не имея возможности его как-то купить.
И вот в 2000 году мне пришлось устроиться в другую школу, потому что до той школы стало очень и очень далеко ходить, я тратил примерно около часа, только чтобы дойти до той школы. Вроде как я смог закончить 5-й класс и поступить уже в 6-й класс в новой школе, где наконец-то смог доучиться до конца.
Очень интересный рассказ выходит — не о спектруме. Да, в 2000 году у меня этот спектрум как раз и появился на столе. Это был наш первый компьютер, но он был не совсем наш, а того самого Макса М. Появился он еще немного ранее, мне в конце 1999 года дали компьютер домой погонять, я сидел и в том страшном доме пытался что-то программировать. Плохо то, что компьютер этот был без дисковода и пришлось каждый раз программу набирать снова. И вот потом, когда уже мы переехали в желтый дом, там мне дали приличный спектрум, где я и набирал программы до посинения. Только вроде как сохранить так и не мог их, не знаю, почему. Наверное потому, что все равно их надо было сохранять на ленту, а пользоваться TRDOS-ом я не мог, не знал как это делается. Сейчас вроде как знаю, но все равно не пользовался. Так вот и пришлось постоянно набивать программы снова.
Совершенно не помню, что я там пытался делать, на этом спектруме. Я выучил ассемблер тогда на вполне приличном уровне, пытался декодировать ROM, писал на ассемблере и на Бейсике программы до появления 386 в моей жизни. Но то уже другая история, которую я, кстати говоря, уже рассказывал.
На этом, пожалуй, мои странные воспоминания можно завершать.
Теги: Истории

19 янв 2023 Чт Моя первая крупная программа

Время написания истории из жизни продолжается и потому я расскажу о том, как я писал свой Norton в 11 лет. Как я рассказывал в прошлом, у меня приключился компьютер в 5 лет. Одними из самых запомнившихся моментов были это как папа играет в Prince of Persia, как он рисовал кота и то, как я через Norton Commander сломал компьютер, а точнее, протер один из системных файлов до нерабочего состояния.
Дело было вот как. Сидели мы с братом за включенным компом (видимо, мы сами его включили), и хотели поиграть в Принца Персии. Собственно, поиграть то мы смогли, а потом я включил режим очень умного и прошаренного сверх-программиста и попытался повторить то, что делал папа, то есть, копался в Norton Commander и в прямом смысле тыкал случайные (рандомные) клавиши. Все было ничего, если бы не то, что внезапно выключился свет. Не помню, это было днем или вечером. Следующее что я помню это то как мы сидим в темной комнате и страдаем. К папе приехал его знакомый программист и стал там чинить что-то через дискету. Я чувствовал себя виноватым в этой истории. Ах да, заговорился совсем. Через год нашего компа не стало. cray Мы уехали с квартиры и компа больше не было. Вот такие дела.
Спустя несколько лет мне попалась книжка "128 советов начинающему программисту" (кстати, у меня она снова есть), и я заново открыл для себя мир компьютеров и программирования. Помню, много каких еще книг было, которые я прочел, но книга "128 советов" оказалась очень интересной, там были веселые картинки и программы. Да, я припоминаю, что читал еще и другую книгу, справочник по языку Бейсик, где и научился кодить. Мне было тогда 9 лет.
Почти 1.5-2 года я совершенствовался в создании программ на Бейсике. Однажды, призадумавшись о том, смогу ли я написать особую программу под названием Noron Commander, я приступил к делу. У меня была ручка и огромный плакат карты покрытия МТС для города Москвы в 1999 году. Глаза мои горели, я программировал... на бумаге. Да, это все так. Мало того, что я писал на обратной стороне плаката МТС, так еще и света особо не было по вечерам, приходилось сидеть при свечах иногда, так еще и компа не было. Какой там комп. Окна в комнату разбиты, на улице холод собачий, в комнате есть только камин, чтобы согреться, а от здания, где мы тогда жили, веяло страшным ужасом. Когда я вспоминаю об этом времени, мне думается о том, как я тогда вообще выжил.
Да, я опять отвлекся, воспоминания... они такие. Почему я писал эту программу? Просто суть в том, что тогда, в то непростое время, у меня была возможность ходить в компьютерный кружок и прикасаться к священному компьютеру. В кружке были разные компьютеры, такие как ZX Spectrum 128K, УКНЦ, мажорные 286 и еще какие-то. Мне так нравилось там быть, ведь я мог делать то, что я любил и люблю сейчас — программировать!
Была только одна незадача. На 286 был Norton Commander, а на УКНЦ, где я сидел иногда, Нортона не было. Я захотел его написать. Но как? Компьютер мне давался максимум на час примерно, так что пришлось делать то, что я делал — писать на обратной стороне плаката, неизвестно откуда у меня взявшегося.
Эту программу и сам плакат я берегу до сих пор. Это — единственная такая вещь, оставшаяся с моего непростого прошлого. Саму же программу и даже попытку ее реализации я разместил у себя на сайте уже достаточно давно. Как известно, написанное в 11 лет без всяческой отладки, работать не будет. Но я не стал ничего исправлять, ведь это такое ретро. Уже 24 года прошло с того момента.
А я все помню.

17 янв 2023 Вт Моя первая программа

Когда я был совсем еще небольшим, примерно ростом чуть ниже метра или около того, к нам домой заявился Его Величество Компьютер 286. И Нортон. Коммандер, конечно же. Из всего, что я помню до этого знаменательного периода, это то, что моя жизнь представляла из себя сплошную тоску, в которой... так, постойте, это получается, что я всю жизнь страдаю?!.. scratch1
Ладно, опустим детали прозрения на пустом месте и продолжим рассказ. Так вот, привезли этот чудо-агрегат и водрузили его на свое место — на стол, естественно. И вот, стоит он себе на столе, чарует взор. На нем папа пишет программы, изучает его, что-то делает, и мне крайне любопытно все, что связано с этим. Мне тоже интересно было, как это все делается. Там еще был матричный принтер, который производил очень громкий звук печати и выводил различные интересные картинки. Например, там была программа "Плакат", от вида которой у меня начинает неистово сводить олдскулы. Папа любил написать что-нибудь там и распечатать на черно-белом принтере.
Конечно же, меня было не оторвать от зрелища чудесной машины, где либо на GW Basic или в FoxPro делались какие-то программы. Помню эту очаровательную книгу по FoxPro 2.0 (обратите внимание на слово Fox). Я помню, что у меня эта книга все лежала, лежала потом, да куда-то исчезла. Печально. Надеюсь, я смогу ее вернуть как-нибудь.
Особенно меня впечатлила программа, где папа с помощью Бейсика нарисовал кошку на крыше. И мне захотелось сделать то же самое! Но я долго не мог сделать тоже самое, да и сейчас пока что не могу, потому что я не особо помню, как выглядела картинка. Однако, я попробую это сделать в будущем.
Помню, что у папы был блокнот, который он мне подарил после того, как я написал там свою первую программу вот в таком роде:
110 LET 5=A
220 PRINT A
Даже от такого небольшого количества программ я в свои 5 лет был счастлив. Долго сомневался, правильно ли я написал LET, и выбрал ошибочный вариант. Как обычно, блокнота у меня этого не сохранилось, но что поделать. Все ушло в прошлое, жаль конечно.
У меня есть еще несколько интересных истории по поводу того, что было со мной в детстве, но я их отложу на следующие посты. Наверное, я смогу рассказать их все, ведь истории ограничены. Пусть будет дневник моей жизни запечатлён здесь, на страницах моего сайта. Ведь зачем я создавал сайт? Не только чтобы писать статьи, но и делиться своей жизнью, своим прошлым и настоящим. Так что, все правильно.

16 янв 2023 Пн Про алгоритм Хаффмана

Уже не помню, когда и как я впервые услышал про этот алгоритм, но как и обычно, это было очень давно и выдумка. Обычно я сначала узнаю о чем-то, а через год, два или даже десять лет изучаю этот вопрос и реализовываю. Так же произошло и с кодом Хаффмана. Как и обычно, я сразу не смог его понять, мне показался он чересчур сложным и потому просто не стал изучать, да и всё. Впервые серьезно пытался его разобрать я после того, как однажды мы как-то зашли в магазин и купили там книгу по распродаже, она называлась что-то вроде "алгоритмы изображений", я уже реально не помню как, а книгу я эту читал очень поверхностно.
В этой книге тоже был описан алгоритм кода Хаффмана, но я его опять не понял, хоть и пытался. Но не понял. Там в этой книге, помимо Хаффмана, еще были и gif, и png, и jpg — все основные картинки в интернете. Не спорю, книга хорошая, но я не умею читать книги, просто не могу, не получается. Мне подходят различные короткие статьи с интернета, а не книги. С последних толка никакого.
Окончательно я с этим алгоритмом смог разобраться только в прошлом году. При помощи страшных мучений примитивного мозга, преодоление препятствия было выполнено, и у меня получилось даже написать алгоритм как на PHP (Pre Historic Programming, в переводе как До Историческое Программирование - ДИП), так и на Си, который является языком, на котором программируют сейчас абсолютно все и который является языком для мажоров. Ладно, я опять отступил от темы, как обычно. biggrin
Этот алгоритм Хаффмана интересен тем, что он работает только для алфавита из фиксированного количества символов, при этом необходимо, чтобы частота встречи каждого символа очень сильно различалась, чтобы каким-то образом попытаться сжать эти данные. Эффект кода Хаффмана заключается в том, чтобы сжимать более часто встречающиеся символы более короткими кодами и это факт. Этот алгоритм очень распространен, используясь везде где можно и где не можно. Да, кстати, насчет этого...
Мне пришла мысль, а что если кодировать музыку через Хаффмана? Степень сжатия, конечно, не всегда может быть, но вот как кодировать музыку? Самая первая мысль, которая у меня была, это взять все семплы, подсчитать их частотность и закодировать. Но эта мысль оказалась ошибочной, сжатия почти не было, какие-то жалкие проценты. И тут я подумал о втором варианте — кодировать не сами семплы, а разницу между ними. Вот здесь все получилось гораздо успешнее!
Для этого я написал алгоритм по-быстрому, чтобы проверить догадку. Действительно, сжатие удается до 44% примерно для аудиотрека, что чуть больше чем в 2 раза. Для очень хороших случаев сжимать получается и до 15%, но это в хороших случаях, а вообще, кодом Хаффмана более чем в 8 раз не получится сжать, потому что минимальный код — это 1 бит, который бы кодировал 8 бит.
Я не придумывал какой-то собственный формат, но мне было реально интересно, что получится и получится ли сжатие, и у меня получилось. На данный момент у меня нет реализации формата этого файла для сжатия, так что думаю, что надо будет над этим подумать, и попробовать сделать. Как обычно, через пару месяцев или через пару лет, по традиции. Кто здесь главный слоупок? Я, конечно! facepalm

14 янв 2023 Сб Элита на Quick Basic 4.5

Как истинный старый дряхлый олдскульный дед в 35 (или 36 лет), я начну свой рассказ этими словами, потому что это мантра, заклинание, молитва, заговор, как угодно можно это называть, но суть не меняет:
Раньше было лучше, раньше было веселей,
Раньше было ярче небо, трава — зеленей.
Все что было раньше — просто рай блаженный.
Там все было лучше, а не то, как тут.
Вот, собственно, я повторяю эту фразу как "Харе Кришна харе харе Кришны харя हरे कृष्ण", и мне становится как-то лучше, но самое главное в этом всем деле — не оскоробить чувства неверующих, потому что вот я скажу харя Кришны и обидятся, скажут, что я плохобуддийский невериалист, а я отвечу...
Кстати, а тема то вообще другая у сегодняшнего поста, а меня понесло не в ту степь. Это всё из-за того, что я вспомнил всё. Всё, что не надо было вспоминать, вспомнил, потому что это погрузило меня в пучину лучших воспоминаний о прошлом.
Так вот, все началось с того, что я увидел великий и могучий ZX Spectrum Sinclair 128k Edition. Но суть не в этом. Элита — это игра, которая называется Elite, и она запускалась на 48к памяти легко, умещала в себя несколько галактик и сотни звезд в каждой из галактик. Это была поистине мощь космической Оперы (не том сверхпопулярном Opera браузере, о которой все подумали, конечно же), где нужно было летать, залетать в огромную Щель, вылетать из нее, торговать и невозбранно © грабить корованны™, чем не преминали заниматься отважные искатели истины и приключений. Но я был гораздо проще. Я не играл в эту игру.
BBC_Micro_Elite_screenshot.png
Рис. Знаменитая щель biggrin
На этом все было можно и закончить, но не тут то было.
Я никогда в эту игру не играл, а если играл, то не мог пролететь и минут 10, как меня либо выносили, либо я не мог попасть в великую щель и я выносился самостоятельно. Эта игра — легендарная, потому что в нее никто толком не умел играть, поэтому она и легендарная. Эта игра про то, как сделать целое состояние, перевозя с места где подешевле в место где подороже. Или же грабить ЦеЛыЕ КоРоВаНы и оттуда выносить весь разбросанный по космосу мусор и толкать где-нибудь на базаре. Все это делать я не умел, потому не делал.
И тут у меня под рукой оказался Quick Basic 4.5. Не путать с Quick Basic 4.4(9) (я без понятия, а он был вообще), и вот, бейсик у меня приключился, я там смог нарисовать звёзды, которые исходили из единого центра и создавали такое странное ощущение, как будто я лечу в космосе, а на самом деле, я никуда не летел, а сидел, как юзер-недопрограммист перед черным монитором и прыгал, и радовался, и возносил хвалы Билли Гейсту (Billy Gayste) за то, что он создал мощный Quick Basic 4.5 и я смог даже в него поиграть и проиграть, между прочим.
Я не помню, что я нажал, но все не исчезло, а по какому-то волшебству появилось и стало работать. Станции вращались вокруг своей оси, были даже врата между системами, куда я периодически залетал, была даже сетка панели, и все это было сделано на 386 процессоре в Quick Basic 4.5. Невероятно! Только количество багов превышало количество профита, так что я после некоторого количества строк забил на игру и далее делать не стал. У меня кончилось топливо и я не смог продолжить эту игру делать.
Вот такая вот незамысловатая история от меня. Если вы думаете, что я приврал все это, то это не так. Всё совершенная правда. Ну, разве что кроме Билла Гейста.

13 янв 2023 Пт Обдумывал процессор на NAND

У меня есть одна проблема, она прямо сильно меня тревожит, это то, что я постоянно хочу сделать какой-то процессор на простых логических элементах или на транзисторах. Ясное дело, чтобы сделать что-то более-менее рабочее, надо потратить тысячи транзисторов, тогда да, будет какой-то толк. Но мне же хочется что-то на коленке собрать.
Когда-то давно, когда я учился еще в 9-м классе, я ездил на одну олимпиаду по программированию и встретил там парня, который мне рассказал, как он смог сделать процессор из транзисторов. Я был потрясен до глубины души и всю жизнь мечтал понять и разобраться в том, как он это сделал, и как это вообще возможно. Спустя большое количество времени, а именно, мне там было 16 лет, сейчас уже 36, то есть, через 20 лет, я осознал, что ничего сделать быстро и просто невозможно. Он похоже, сделал не то, что я думал, не полноценный компьютер Intel Pentium 233 Mhz, а похоже, он сделал обычный сумматор, который был выдан за компьютер. Сумматор на транзисторах я тоже могу сделать уже без проблем. И он упомянул, что этот его процессор был собран на коленке.
Вспоминая все это, я пришел к выводу, что если и делать что-то, то не замахиваться на реальные процессоры, а будет вообще достаточно собрать даже пусть на весу на транзисторах схему сумматора и вычитателя, либо на NAND. Как обычно, я начал вести подсчет того, сколько мне чего надо и просто ужаснулся, честно говоря. Надо очень много и это еще будет только 5% того, что реально надо будет сделать.
Чтобы сделать сумматор 4 битный, потребуется 9 микросхем 4-NAND. Но ведь сумматора недостаточно. Еще надо приделать туда триггеры на вход и выход, вычитатель. Для вычитателя потребуется например, еще +5 микросхем для реализации XOR (4 входа и 1 перенос), то есть уже 14 микросхем только для того, чтобы сделать сумматор с вычитателем. Это просто ужасно много.
И да, а стоит ли оно того, чтобы сделать? Что это мне даст? Ровным счетом, ничего, кроме того, что это будет просто сувениром на полочке, который занимает лишнее место. Поэтому все что я делаю, обычно делаю на ПЛИС-е, потому что это в тысячи раз удобнее, проще и возможностей больше. Но ведь даже то, что я сделал на ПЛИС, я не пользуюсь этим. Так что еще неизвестно...
Итак, поскольку процессор на NAND я делать не буду, может быть, мне можно будет сделать его в ПЛИС? В целом, конечно, да, но этот процессор слишком примитивный. Как ни крути, со всех сторон это никак невыгодно, неудобно, глупо и бесполезно.
Мне, кроме прослушивания музыки, сидения в соцсетях и написания бредовых текстов, вообще ничего не надо от компа. bore

06 янв 2023 Пт История моих отладочных плат на ПЛИС

Начну с того, что электронными устройствами я стал заниматься в 2015 году. Вся история началась 19 апреля 2015 года, когда мне приснился пропитанный ностальгией сон про Денди. Меня он настолько впечатлил, что я решил все-таки взять и наконец, разобраться с транзистором. До 2015 я понятия не имел, как работает транзистор, и потому для меня это был тёмный лес. Прошло уже 7 лет и я уже знаю приблизительно, как работает транзистор и это хорошо. Но сперва была самая лучшая приставка Денди.
Спустя какое-то время я наткнулся на одну интересную штуку под названием "Матрешка" от Амперки и понял, что это я смогу потянуть. С трудом уговорив жену согласиться на эту покупку, я купил эту вещь и не пожалел ни разу. Я даже не использовал все ее возможности, да и вообще, по итогу ничего не смог сделать конкретно с физической реализации электроники. Как оказалось, я не электронщик, а программист и мне больше понравилось программировать на верилоге, а не паять или собирать что-то.
Ко мне пришел набор юного электронщика, который заказал и это было как чудо какое-то, настоящий подарок для меня. Шел 2015 год.... прошло с тех пор уже 7 лет. Как быстро идет время... Но ладно. Сердцем этого набора была, конечно же, Arduino Uno, и вот незадача, я не знал ни Си, ни Си++. Пришлось его изучить, но поскольку Си очень похож на PHP, который я хорошо знал, то особого труда не составило. Я стал писать программы, скетчи, изучать AVR архитектуру. Это было довольно увлекательное время. Да, кстати, именно тогда наконец, я разобрался с тем, как работает транзистор, и все благодаря прекрасной книжке-справочнику, который в абсолютно доходчивой форме пояснил без всех этих ненужных глубоких погружений, как же работает транзистор. Это было как озарение!
Но время шло, и тут мне случайно попалась тема, которая называется ПЛИС. Меня заинтересовало, что это такое, и оказалось, что ПЛИС - это Программируемая Логическая Интегральная Схема. Весьма интересно, подумал я, неужели я могу программировать логические схемы при помощи кода?
Я нашел сайт Марсохода (это лучший сайт про ПЛИС), и в начале июля заказал ее. Шла она мне почти месяц, и вот, 3 августа 2015 года я приобрел первую свою ПЛИС, это Cyclone III на 10240 логических элементов, 46 килобайт внутрисхемной блочной памяти. С того момента как раз я стал изучать Verilog, чтобы что-то запрограммировать. Первые мои программы были простые, то есть, я их вообще не писал поначалу, а рисовал через блок-схемы, привыкал к IDE Quartus 9.8, это уже позже я догадался что можно вообще не рисовать блок-схемы. Это понимание мне приходит что-то не сразу. В этом году совсем недавно, где-то в декабре или ноябре, я вообще понял что квартус можно не запускать, чтобы синтезировать код.
Первым делом, что я смог создать, так это адаптер видео VGA, потом начал уже с более приличными знаниями творить и процессор AVR, а позже смог сделать эмулятор 6502 и вообще, NES. Я смог, да, я реально смог создать Денди, сам, с нуля! И он до сих пор лежит во флеш-памяти марсохода. Там запрограммирован Марио, я его не удалял до сих пор, он там годами лежит. Я слишком ленивый, чтобы что-то делать.
Потом, я не помню уже когда, смог купить за 20 тыс рублей новую плату, DE0 Cyclone V, с которой просидел достаточно приличное время, несколько лет. Она хорошая плата, 18k ALM или 36K LE, с 308 килобайтами памяти. Для нее достижений у меня было больше — это и отлично сделанный AVR и Z80 процессор, и почти что полноценный спектрум 128К, а также сделанный в конце 2022 процессор x86-32. На большее меня как-то уже не хватает.
В 2021 году я купил для прикола небольшую плис с того же самого Марсохода, MAX10-02, которая содержит всего лишь 12 кб памяти и примерно 2.6К LE. Она выглядит как флешка, но пользы от нее почти нет.
Примерно в том же году купил Марсоход1, классический, MAX10 EPM570, но от него пользы еще меньше. Мне даже не удалось придумать под него какую-нибудь внятную задачу и потому эти два чипа просто так лежат себе в специальной коробочке.
И вот, к концу декабря 2022 года под Новый Год мне пришла последняя моя ПЛИС - это Cyclone 4 GX150, огромный и впечатляющий по своему объему чип, 150 тысяч логических элементов и 720 килобайт внутрисхемной памяти! Мне такие объемы даже и не снились, но эта плата теперь у меня есть и я реально счастлив.
По итогу, у меня теперь несколько чипов:
  • Cyclone 3
  • Cyclone 4
  • Cyclone 5
  • Max10-02 Mini
  • Max10 EPM570
Самый ходовой из них конечно же у меня был в последнее время 5-й Циклон, но теперь думаю, самый лучший будет 4-й. Время покажет, что да как. Надеюсь, все будет хорошо уж.
Теги: Истории
<< Ранние записи | Поздние записи >>