Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
Черный Шаман   (2007-08-31 18:20) [0]

Написанное является никакой не провокацией, а наблюдениями натуралиста. Не бросайтесь скороспелыми выводами.

Встречаются профессиональные термины (программистские, психиатрические и матерные).

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

Оказалось, я ошибался, может быть куда хуже, я всегда в таких случаях ошибаюсь.

Вот скажем, индус. Ему дали задание - напиши код, который проведет, допустим, прямую от А до Б. И что вы думаете - прямая будет проведена. С использованием всех известных индусу технологий, которых больше, чем позиций в Камасутре. Например, на последней работе данные читались и писались в базу с использованием JDBC, JDO, EJB и Hibernate, иногда одновременно. Что поразительно, все это работало - из точки А в точку Б. Иное дело, если бы вдруг потребовалось провести еще одну прямую, допустим, еще и в точку Ц, тут весь продукт пришлось бы переписывать. Как мосты и тоннели никто не проектирует на многофункциональность, так же и индусский код, сплошная железная дорога без стрелок. Нужно - прокладывай новую, семью всем кормить надо, проектов мало, индусов много.

Хуже индусского кода может быть только код европейский, особенно голландцев или датчан. Это тоже объяснимо, у них источники вдохновения легализованы. Из точки А в точку Б никто никуда не едет, зато есть framework. В котором можно задать plug-in, который конфигурирует другой plug-in, который читает третий plug-in и посылает event четвертому, а тот уже знает, что делать. Через Inversion of Control, так интереснее. Я как-то цитировал одно европейское творчество, и, по-моему, это достойно повторения:

   Before describing the configuration aspects of components (...), component types and implementations are described, since it is aspects of the component type that are configured by components – and the configurable aspects are defined by the component type.

И это только документация, а исполнение, поверьте моему горькому опыту, еще затейливее.

Но все это - ничто в сравнении с отечественным кодом. В нем из точки А в точку Б прямую, конечно, проведут. Квадратно-гнездовым методом. Я не очень понимаю, что такое квадратно-гнездовой метод, но будет использован именно он. Врагу достанется выжженная земля с одной стороны, и ни пяди ее - с другой. Из А в Б будет проведено столько прямых, что Лобачевский отдыхает. Еще большее количество прямых будет проведено из Б в А, на всякий случай, как в анекдоте - строительство туннеля под Ла Маншем начнется одновременно из Англии и Франции, и продлится пять или десять лет, в зависимости от того, встретятся ли строители посередине. Зато комментариев в коде не будет, потому, что код - лучше любого комментария. С этой же целью всем переменным будут даны имена из учебника по шахматам. Кстати, о шахматах, помните ли вы притчу про их изобретателя, индуса (хе-хе), который в качестве вознаграждения попросил 264-1 зернышек рису? Это индийский подход, он же ламерский, отечественный программист знает, что есть функции стремительнее экспоненты. Если вы подумали "домкрат", то не угадали, домкрат только падает. Зато есть факториал, помните про такое?

На моей новой работе тоже есть outsourcing. Достался в комплекте с инвесторами, контрактная контора в городе М. (не Москва), некоторые компоненты системы написаны, увы, там. Моя новая работа - стартап, поэтому код еще не весь опробован. На днях дошло, наконец, до полевых испытаний компоненты, которая фразы ищет, на совпадение, с набором ключевых фраз из словаря. Задача - как два пальца об асфальт, фраз в словаре, для начала, тыщ восемьдесят - фигня. Ага, щас.

OutOfMemoryError, говорит компутер. Памяти у него - два гига, и даже Билла Гейтса не приплетешь, сплошной Линукс. Шо за фигня, все посмотрели на сисадмина, строго так, со значением. Сисадмин вздохнул, ударился оземь, обернулся птицей и добавил серверу еще два гигабайта памяти. OutOfMemoryError, повторил компьютер, только теперь уже не сразу, а немного подумав. Тогда все посмотрели на Ди-Би-Эя, еще строже, DBA тоже вздохнул, и урезал базу напополам, до сорока тысяч, от плеча до седла. Потом еще раз. Двадцать тысяч строк в память влезли, им там было уютно, но работать не собирались.

К этому моменту индивидуальные эмоции сложились в одно большое коллективное "бля". Потому как, в production базе данных записей под миллион, а арифметику все учили еще в колледже. И я пошел смотреть в код.

То, что я там увидел, словами не описать, ибо слова есть продолжение мыслей, но я все же попытаюсь. Есть такое понятие, сложность алгоритма. Если есть N объектов, а алгоритм работает независимо от их числа, сложность такого алгоритма - константа, и это очень хороший алгоритм. Но все задачи так не решить, поэтому есть алгоритмы, работающие за время, пропорциональное логарифму N, и это тоже хорошо. Хуже, если время работы алгоритма пропорционально N, совсем плохо, если N2, и хуже некуда, если время работы растет, как экспонента от показателя N. М.-ские труженики умудрились преодолеть и этот барьер, в погоне за константной скоростью работы алгоритма они умудрились добиться факториального, N!, потребления памяти.

Идея чрезвычайно проста. Если известно заранее, что будет искаться фраза "мама мыла раму", эти орлы создавали в памяти все возможные пермутации, как то, "мама раму мыла", "мыла раму мама" и так далее. Все эти варианты засовывались в хеш-таблицу, со всеми сопутствующими объектами. Ожидалось, что время поиска в такой таблице - константа, потому, как ищется квадратно-гнездовым методом. Фразы были и по пять, и по восемь слов. Факториал восьми никто не брал? Если брали, положите на место. Тут и двадцать тысяч фраз - достижение, удивительно, что столько влезло.

Только вот не надо говорить, это мол, город М., а в других городах на букву М по-другому пишут -фигня все это, пишут, и еще как. И между прочим, пример мой неудачен, потому, как болезнь легко диагностируется по симптомам, чуть более кучерявое решение, поместись оно в два гига памяти, осталось бы незамеченным, у нас стартап, нам не до мелочей, работает - и ладно, в версии 2.0 исправим, если не разгонят.

Я хочу другой глобус.


 
Черный Шаман   (2007-08-31 18:20) [1]

http://g60.livejournal.com/132521.html


 
Turbouser ©   (2007-08-31 18:25) [2]

Очередной крик души...
Боян, можно сказать :)


 
TUser ©   (2007-08-31 18:35) [3]

Все просто, этот код вовсе не был написан русским программистом. Равно, как он не был написан китайским, индийским или каким угодно другим программистом. Этот код писал не_программист.


 
@!!ex ©   (2007-08-31 18:45) [4]

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

P.S.
По поводу поиска фразы в таблице: ИМХО лучше ее сорировать и искать двоичным(по мойму так называеться) поиском, учитывая, что каждая итерация сокращает количество данных вдвое, это был бы очень быстрый поиск даже в миллионной таблице.


 
oldman ©   (2007-08-31 18:51) [5]


> Черный Шаман   (31.08.07 18:20)  


Меняй работу.

тупой код национальности не имеет. (Я ©)


 
TUser ©   (2007-08-31 18:53) [6]

> По поводу поиска фразы в таблице: ИМХО лучше ее сорировать
> и искать двоичным(по мойму так называеться) поиском, учитывая,
>  что каждая итерация сокращает количество данных вдвое,
> это был бы очень быстрый поиск даже в миллионной таблице.
>

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


 
Вася Правильный   (2007-08-31 18:53) [7]


> поиска фразы в таблице: ИМХО лучше ее сорироват

ню-ню
для сортировкитоже память нужна, ага?


 
@!!ex ©   (2007-08-31 18:55) [8]

> [6] TUser ©   (31.08.07 18:53)

Ок. Это просто предположение было. :)


 
Algol   (2007-08-31 18:57) [9]

Ээ... ваще-то говоря, расход памяти в этом алгоритме вовсе не O(N!), а просто O(N).
Число фраз N=120000.
А расход памяти M <= N*8! <= O(N)


 
Черный Шаман   (2007-08-31 18:57) [10]


> @!!ex ©   (31.08.07 18:45) [4]
> P.S.
> По поводу поиска фразы в таблице: ИМХО лучше ее сорировать
> и искать двоичным(по мойму так называеться) поиском, учитывая,
>  что каждая итерация сокращает количество данных вдвое,
> это был бы очень быстрый поиск даже в миллионной таблице.
>


Лучше двоичный поиск по хеш-массиву и потом уже окончательный поиск полной строки по имени(среди совпадений хеша). Я сейчас к такому пришел. Скорость полного перебора поиска(все слова в цикле по имени вызываем) на 100000 слов 10-30 мс на Athlon2000+.

Или же нечеткий поиск(20 мс на 100000 слов выборка значений около 100) - дерево + бинарный поиск по символам + рекурсия с передачей данных по ссылке.


 
Черный Шаман   (2007-08-31 19:01) [11]


> oldman ©   (31.08.07 18:51) [5]
>
> > Черный Шаман   (31.08.07 18:20)  
>
> Меняй работу.


Это не мой вопль, я как раз нормально реализовал [10]. Просто статья очень понравилась.


 
Черный Шаман   (2007-08-31 19:03) [12]


> Algol   (31.08.07 18:57) [9]
>
> Ээ... ваще-то говоря, расход памяти в этом алгоритме вовсе
> не O(N!), а просто O(N).
> Число фраз N=120000.
> А расход памяти M <= N*8! <= O(N)



> Идея чрезвычайно проста. Если известно заранее, что будет
> искаться фраза "мама мыла раму", эти орлы создавали в памяти
> все возможные пермутации
, как то, "мама раму мыла", "мыла
> раму мама" и так далее.


Тоесть варианты хешей 20000 слов


 
oldman ©   (2007-08-31 19:36) [13]


> Черный Шаман   (31.08.07 19:01) [11]
> Это не мой вопль, Просто статья очень понравилась.


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


 
Черный Шаман   (2007-08-31 19:49) [14]


> oldman ©   (31.08.07 19:36) [13]
>
> > Черный Шаман   (31.08.07 19:01) [11]
> > Это не мой вопль, Просто статья очень понравилась.
>
> А зачем нам вопли недоумков, которые не могут справиться
> с легкими проблемами, не понял?


Он говорит о московских недоумках, которые выставляют себя пупами земли, а на самом деле большинство кроме кидания кнопок мало что умеет, даже за крупные зарплаты 1000-2000$.


 
Virgo_Style ©   (2007-08-31 22:26) [15]

Черный Шаман   (31.08.07 19:49) [14]
Он говорит о московских недоумках, которые выставляют себя пупами земли



> Только вот не надо говорить, это мол, город М., а в
> других городах на букву М по-другому пишут -фигня все
> это, пишут, и еще как.


 
isasa ©   (2007-08-31 22:28) [16]

"Не стреляйте в программиста, он ваяет, как умеет" (с) Старая индейская мудрость ... :)


 
Turbouser ©   (2007-08-31 22:29) [17]

> [14] Черный Шаман   (31.08.07 19:49)

Velfrjd везде хватает [14] - реальное этому подтверждение.


 
tesseract ©   (2007-08-31 22:31) [18]


> Он говорит о московских недоумках,


О Нижегородских. Нижний Новгород - ведущий экспортёр тупорылых франчей в Москву. И они ещё ничего, вы других не видели.


 
Turbouser ©   (2007-08-31 22:33) [19]

Я так и знал, что все этим закончится :)


 
tesseract ©   (2007-08-31 22:39) [20]


> даже за крупные зарплаты 1000-2000$.


Они не крупные. Просто  хороший GUI дизайнер - редкость, его и за 5-6  не найдёшь. Я уже не раз писал о проблеме одной кнопки.


 
isasa ©   (2007-08-31 22:44) [21]

tesseract ©   (31.08.07 22:39) [20]
:)
Можно подумать, что хорошие просто дизайнеры штабелями на улише лежат.


 
имя   (2007-08-31 22:52) [22]

Удалено модератором


 
Rouse_ ©   (2007-08-31 22:59) [23]

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


 
isasa ©   (2007-08-31 22:59) [24]

Rouse_ ©   (31.08.07 22:52) [22]
:)
Не хочется заканчивать ветку на такой грустной ноте.
Проблема профессионализма кадров среди программистов не так актуальна(это мои последние наблюдения). Более актуальна она среди строителей и, особенно, среди сантехников(это, вообще страшная вещь, как оказалось).


 
DrPass ©   (2007-08-31 23:11) [25]


> Проблема профессионализма кадров среди программистов не
> так актуальна

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


 
Rouse_ ©   (2007-08-31 23:21) [26]

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


 
isasa ©   (2007-08-31 23:30) [27]

Rouse_ ©   (31.08.07 23:21) [26]
Современные профессиональные программисты не могли получить все те знания, которые необходимы сейчас ...

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


 
Rouse_ ©   (2007-08-31 23:46) [28]


> isasa ©   (31.08.07 23:30) [27]

Ох как хорошо сказал!!! Респект +1 :)


 
iZEN ©   (2007-09-01 00:19) [29]

Удалено модератором
Примечание: Нарушение второго пункта правил форума...


 
DrPass ©   (2007-09-01 01:37) [30]

Удалено модератором
Примечание: Оффтоп...


 
Черный Шаман   (2007-09-01 03:09) [31]

Удалено модератором
Примечание: Мы тоже тебя не очень любим :))))


 
J_f_S   (2007-09-01 03:23) [32]

Удалено модератором


 
iZEN ©   (2007-09-01 03:58) [33]

Удалено модератором
Примечание: обсуждение модерирования


 
iZEN ©   (2007-09-01 04:03) [34]

Удалено модератором


 
Denis_ ©   (2007-09-01 11:34) [35]


> Я хочу другой глобус.


И из окна тоже дует....


 
Alex Konshin ©   (2007-09-01 12:12) [36]

Нужно просто строить автомат для парсера текста на лету.
Нельзя при такой постановке задачи искать по фразам в приемлемый срок.


 
ПЛОВ ©   (2007-09-01 12:18) [37]


> Встречаются профессиональные термины (программистские, психиатрические и матерные).

Уже только по этой фразе можно оценить айкью автора


 
iZEN ©   (2007-09-01 12:53) [38]

Ещё раз.

непрограммисты не имеют н.а.ц.и.о.н.а.л.ь.н.о.с.т.е.й.


 
Marser ©   (2007-09-01 17:42) [39]


> непрограммисты не имеют н.а.ц.и.о.н.а.л.ь.н.о.с.т.е.й.

Правоверный иудей сегодня к компьютеру не подойдёт :-))


 
S.T.A.L.K.E.R   (2007-09-01 20:30) [40]


> iZEN ©   (01.09.07 12:53) [38]
>
> Ещё раз.
>
> непрограммисты не имеют н.а.ц.и.о.н.а.л.ь.н.о.с.т.е.й.


Но статистически, среди некоторых национальностей непрограммистов больше.


 
Rouse_ ©   (2007-09-01 21:00) [41]


> непрограммисты не имеют н.а.ц.и.о.н.а.л.ь.н.о.с.т.е.й.

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


 
Rouse_ ©   (2007-09-01 21:03) [42]


> Marser ©   (01.09.07 17:42) [39]
> Правоверный иудей сегодня к компьютеру не подойдёт :-))

Серег - это даже не смешно...


 
iZEN ©   (2007-09-01 21:21) [43]


> Rouse_ ©   (01.09.07 21:00) [41]
>
> > непрограммисты не имеют н.а.ц.и.о.н.а.л.ь.н.о.с.т.е.й.
>
> Уверен?

Уверен.

Я сказал не в том смысле, что не-шахтёры это те, кто не работает в шахтах; не-библиотекари это те, кто не работает в библиотеках, а в том смысле, что некие личности, пишущие [b]ТАКОЙ[/b] код, безусловно являются не-программистами и таких много среди разных народов, как т.е.р.р.о.р.и.с.т.о.в (пишу так, штоб не забанили автоматически). Они действительно IT-т.е.р.р.о.р.и.с.т.ы., по-другому и не скажешь.

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


 
Rouse_ ©   (2007-09-01 21:38) [44]

Игорь, автоматического бана по таким словосочетаниям здесь нет, поэтому пиши нормально. Все твои вышесрезанные посты резал я. Твои слова насчет ТАКОГО кода, также мне не понятны, ибо извини но два умножить на два всегда выдаст четыре, неважно кто ввел это значение (индус, араб или москвич). Если пытаешся поддержать автора статьи, то видимо тебе проще связаться с ним самим, потому-что такого ограниченного выпада на сообщество врятли тут смогут поддержать, кстати а чем таки занят сам автор? За сим откланиваюсь...


 
Игорь Шевченко ©   (2007-09-03 09:57) [45]

Софта банить


 
Kobik.   (2007-09-04 18:04) [46]

я думаю тут дело не в национальности программиста. Вот например, прислали нам в институт установку (из Германии кажется) и с ней программку для проведения измерений. Только интерфейс у нее кривой, работать не удобно и к некоторым параметрам нет никакого описания. Короче надо конкретно дорабатывать.
На вопрос в плане "чё за?", ответили "в России крутые программисты - разберутся".

Вот сижу, разбираюсь  в такой мути...


...
PROCEDURE S19;BEGIN port[zz+$04]:=CCC;
{H:=1;DLY;}zdy:=10;sdly;
CHN:=port[zz+$00];END;

PROCEDURE READPH3A;LABEL RPH3L1, RLPH4;
BEGIN
RPH3L1:CCC:=3;S19;{INITIAL}
CCC:=2;S19;CCC:=3;S19;{START}
{H:=LL;DLY; }  {WAIT TILL DONE} zdy:=15000;sdly;
CCC:=1;S19;BY2:=CHN;{READ MS BYTE}
CCC:=3;S19;{DLY;}zdy:=1000;sdly;
CHN1:=CHN;BY1:=CHN;{READ AND STORE LS BYTE}
IF (BY2 AND 128)=128 THEN VSIGN:=1 ELSE VSIGN:=0;{SET SIGN}
CCC:=9;S19;{DLY;}sdly;
IF (CHN AND 128)=128 THEN TOOBIGMK:=1;{SET OVERANGE MKR}
BY2:=BY2 AND 127;{MASK 7 LS BITS OF MS BYTE}
CHN1:=BY1+256*BY2;IF VSIGN=0 THEN CHN1:=-CHN1;
NRES:=CHN1*3.274/32768;
NRES:=NRES*1008*500/1248; {ans in mv without correction}
RLPH4: CCC:=3;S19;{LEAVE TIDY}
END;

PROCEDURE RFLD;BEGIN {port[zz+$06]:=1};FLAST:=F;READPH3A;
            FF:=NRES;G:=FF;F:=ABS(G);
    form1.edit4.text:= format("%7.2f",[ff])+"mT"; form1.edit4.refresh;
 
            END;

procedure dy;var i:longint;begin for i:=0 to 100 do;end;
...

в добавок сделано на первой версии Delphi (хотя сама установка новая)...


 
Dib@zol ©   (2007-09-04 18:17) [47]

Тэк. Тут кто-то что-то говорил про русский код???? Походу ветку переименовать бы, в скажем, "немецкий код..." ;)


 
Dib@zol ©   (2007-09-04 18:18) [48]

Или это месть злобныхъ фофыстов?


 
Jeer ©   (2007-09-04 18:28) [49]


> Kobik.   (04.09.07 18:04) [46]


Это код из Германии, но турецкий:)


 
isasa ©   (2007-09-04 23:14) [50]

Какой код?
Грамотная рукопись, имеет национальность, безграмотная, нет.
Темень, она, и в Африке, темень.


 
DrPass ©   (2007-09-05 00:22) [51]


> Kobik.   (04.09.07 18:04) [46]
> я думаю тут дело не в национальности программиста


> из Германии кажется

Как раз в национальности и дело. Этот код - явно писали фашисты


 
Черный Шаман   (2007-09-05 00:59) [52]


> DrPass ©   (05.09.07 00:22) [51]


А ты украинский код видел?


 
DrPass ©   (2007-09-05 01:03) [53]


> А ты украинский код видел?

Более того, я его пишу


 
Черный Шаман   (2007-09-05 01:43) [54]


> DrPass ©   (05.09.07 01:03) [53]
>
>
> > А ты украинский код видел?
>
> Более того, я его пишу


Нет, не программистский код, а код украинских студентов?


 
Германн ©   (2007-09-05 01:53) [55]

Я уже давно с этим смирился. Только никому не разрешаю называть себя программистом aka "Желтым Земляным Червяком"! :)


 
ANTPro ©   (2007-09-05 01:57) [56]


> [54] Черный Шаман   (05.09.07 01:43)

Студенты, они и в африке студенты %)


 
Германн ©   (2007-09-05 02:15) [57]


> Германн ©   (05.09.07 01:53) [55]
>
> Я уже давно с этим смирился. Только никому не разрешаю называть
> себя программистом aka "Желтым Земляным Червяком"! :)
>

Да, кстати! Ареал "Желтых Земляных Червяков" - планета Земля!


 
Карелин Артем ©   (2007-09-05 07:05) [58]


> Kobik.   (04.09.07 18:04) [46]

Я знаю русского "программиста", который точно так писал. Выпьет поллитра пива (организм давно пристрастился) и вперед на автопилоте



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.63 MB
Время: 0.039 c
2-1188628759
Putnik
2007-09-01 10:39
2007.09.30
Проблемы с сообщениями Windows


15-1188894095
shellbox__
2007-09-04 12:21
2007.09.30
Переустановить windows.


2-1188546595
VRSB
2007-08-31 11:49
2007.09.30
Слушатель порта


2-1188888869
VRSB
2007-09-04 10:54
2007.09.30
NMStrmServ


2-1189059357
Bast
2007-09-06 10:15
2007.09.30
---------------





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский