Дмитpий Hecтepук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Archive for the ‘Life’ Category

Итоги 2016 года

leave a comment »

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

oyz5vst5-me1

Но если серьезно, я все же повторюсь. Год был офигенен! Особенно после того, как я в конце мая прекратил работать евангелистом — это потеряло финансовый смысл уже давно, и несмотря на то что оплаченный бизнес-класс в США чуть ли не каждый месяц это как бы хорошо, я пожалуй дать отказ, сорри. Мы кстати все равно на очень позитивных отношениях с конторой – я уже как минимум на 2-х эвентах там был, плюс я планирую сделать для PS курс по Rider когда он выйдет. JB много чего мне дал и, сугубо имхо, все еще одна из лучших контор для личностного саморазвития и путешествий за чужой счёт. А вот для кэша – это другой, менее приятный разговор :)

9zmq7ia_ygi1

Мои технологические взгляды остаются такими же, я все еще большой поклонник C++ и C#, оба языка прекрасно себя показывают на соответствующих задачах. Я начал серьезно заниматься FPGA разработкой (на VHDL, что возможно было не лучшей идеей), много чего изучил и в мечтах построить feed handler — для какой биржи и протокола – пока не знаю. Это сложная, запутанная дисциплина, и я приобрел массу уважения к людям которые занимаются этим не смотря на низкие, по сравнению с software engineering, зарплаты.

Подвижки в мире меня мало тронули: реакционные действия масс (Brexit и выборы Трампа) понять можно, т.к. люди устали от политкорректности и подлизывания ко всяким меньшинствам. В моем универе в Англии уже и петиции насчет gender-neutral туалетов, и “транс” студенты уже не то что дико, а это стало нормой. Тем временем, Германия и прочие страны (Меркель войдет в историю как Гитлер со знаком минус) напустили толпы иммигрантов, и теперь развал ЕС не за горами – как только Франция выберет Марин Ле Пен. Думаете не выберут? То же самое говорили про Трампа. А он выиграл. Продемонстрировал как один человек победил всю систему. Я это уважаю, т.к. сам индивидуалист и ратую за победу индивидуума над обществом.

ginc-s7n8ys1

На личном фронте, не смотря на мои подвижки в сторону Лаппеэнранты (я всегда презирал дачников, а тут вдруг нате), я планирую двигаться в сторону Эстонии. Для меня это хороший языковой компромисс, а также вынужденная мера, т.к. Британия пожет выйти из ЕС по-разному, и если она выйдет боком, то это и мне выйдет боком, увы. Как и в каком ключе у меня это получится — не знаю, но охота пуще неволи, так что поживем-увидим. Многие удивлены моему повороту дел и считают что я должен вернуться к трудовой жизни. Что ж, так уж и быть, но это будет по моим правилам. А чем я буду заниматься — это пока сюрприз, хотя немного предсказуемый. А в Лапу я все равно буду ездить — это очень близко к Петербургу, и думаю весной-летом там будет самое то. По крайней мере, надо же откуда-то брать нормальный сыр и рыбу. Хотя в Стокгольм тоже ездить буду периодически, хоть оно и подальше.

jawcaklu1u1

А еще в этом году я стал велосипедистом (но не велофанатом, это другая порода, менее адекватная) — началось все с того, что мы купили себе складные велосипеды, а закончилось тем, что я поехал в Стокгольм чтобы купить себе электронно-двухподвесный Crescent, на котором отныне гоняю по городу и пригородам в любую погоду. Жизнь на скорости 25км/ч безусловно поменяла меня, надеюсь что к лучшему. Но на этом фронте я не думаю увидеть какие-то перемены; наоборот — мне теперь нужно следующее хобби.

Ладно, пора резюмировать уже!

У меня есть подозрение что 2017 будет не просто очень хорош, а у меня, по крайней мере, будет качественный скачок: уход от мелочных, приземленных задач и реализация более серьезных проектов. Хотя я, ей-Сотоне, готов просто сидеть тут, пить Сотерн и слушать новый альбом Энигмы. И пусть весь мир подождёт…

С Новым Годом!!!

gzsdzwgdcvi1

Written by Dmitri

31 декабря 2016 at 23:59

Опубликовано в Life

Tagged with

Отсутствие итогов 2015 года

5 комментариев

Это уже стало вроде традицией каждый год писать блог-пост по окончанию года, только вот незадача — каждый год получается все как-то тупо и еще тупее, прям до боли. Но я все-таки попробую.

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

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

Насчет гаджетов всяких и программулек. Ну что тут сказать? Я записал сколько-то видосов для SpbDotNet (.NET сообщества в Питере) на Sony α7Rii, это лучший фотоаппарат на сегодняшний день и еще долго таким будет. И вообще я много на него уже пофоткал и очень доволен, хотя нет предела совершенству.

Насчет языков программирования — на D в уходящем году выло написано ровно ничего. На F# — только фиксы в MathSharp по требованиям пользователей. Покупки прог в этом году шли прятным бонусом, Брайан Даунинг даже сделал обзор X2C у себя в видео, заодно простимулировал меня пофиксить несколько проблем с разным легаси вроде Excel функций про которые я вообще не знал.

В технологическом плане в ушедшем году интересного было очень мало. Вышел iPad Pro который я не купил (но собираюсь), так что я периодически покупал книги по финмату и ножи. Да, я люблю ножи.

Да, все-таки удалось попробовать Rust, но выводов пока нет. Я тяготею к тому что приносит деньги, так что мне сильно отъезжать от канонов негоже. К тому же, С++ радует, я посетил ряд конференций — это C++ Russia, ACCU, CppCon, Meeting C++ и на двух последних даже сделал доклады. Ну были и другие конфы, всего по мелочи.

Что ещё? Блин, все-таки хочется влиться в финмат тусовку по полной, но мы уже вошли в какую-то зону апатии, когда мы на поезде с которого уже не сойти, а последняя остановка называется retirement, причем не в смысле «пенсий» — у меня ее нет, и у вас скорее всего тоже — а скорее в смысле «лежать на пляже на канарах». Канары хорошие, да, годное место.

Чё-то как-то сумбурно получилось, и даже удивительно что вы дочитали досюда. Наверное в новом году нужно делать какой-то reboot и начать писать про финмат, правильное использование статистики, и прочее добро. Только дойдут ли у меня руки? Вот не уверен.

Вообщем… всех с новым 2016! Не знаю как вам, а мне кажется что все будет просто супер!

Written by Dmitri

31 декабря 2015 at 23:59

Опубликовано в Life, Technology

Tagged with

Итоги 2012 года

25 комментариев

Итоги года обычно пишут под самый новый год, но я честно не знаю, где я буду в новый год, так что попробую подвести итоги именно сейчас.

Первое что стоит подчеркнуть – и это, я думаю, заметно по этому блогу – это то что моя активность в плане написания статей немного спала. Спала она в основном за счет того что те вещи про которые хочется писать стали настолько экзотическими и техничными, что потенциальная аудитория для них ничтожно мала. Ну, а теперь о хорошем:

ПО, которое удалось зарелизить:

  • ActiveMesa X2C – программа, которая из Excel генерирует код. Удивило то, насколько просто интегрироваться с Microsoft Office и в принципе результат порадовал. Единственное что у Офиса все очень мутно в плане маркетплейса, а без правильного маркетинга, как вы понимаете, продукты долго не живут.

  • Мнемоники для ReSharper, IDEA и (в будущем) прочих платформ – это то что уже давно хотелось иметь, но увы остались проблемы перворманса которые тоже нужно как-то решать – я даже из-за этого слегка сократил feature set генерируемых файлов.

  • Основной объем зарелиженного ПО в этом году – скринкасты, блог-посты и внутренние проекты.

Языки и их использование:

  • C# и F# остаются основными языками. F# продолжает очень хорошо показывать себя для вычислений.

  • С++ тоже мною использовался, но я как-то поуспокоился относительно стека Intel – особенно если учесть что они не смогли засимшипить с VS2012. Это вечная их проблема, и мне уже порядком поднадоело. К тому же, в компиляторе от Microsoft появилась технология С++ AMP, которая склоняет весы к «дефолтному» компилятору.

  • Другие языки практически не использовались. Более того, как-то энтузиазма в этом плане поубавилось. Например TypeScript уже не воспринимается как что-то «ого-го».

Новое ПО:

  • В этом году я основательно познакомился с Mathematica и MATLAB. Это системы компьютерной алгебры которые присутствуют у меня в академической подписке (я все еще являюсь исследователем в моем университете, года так с 2006го). У них разные сильные и слабые стороны так что я использую обе.

  • Я начал использовать MarkdownPad для редактирования Markdown как в GitHub’овских README.md так и везде где нужно.

  • Я встроил MathJax в TypograFix, и хотя качество отрисовки формул на не-Retina дисплеях продолжает разочаровывать (ну когда, когда десктопные мониторы наконец догонят?) я уже успел воспользоваться возможностями, как на этом блоге так и на других.

Вообще глобально новая вещь:

  • В этом году я более менее систематично начал изучать quant finance. Отсюда собственно и CAS’ы, а также сопутствующие книги по математике, статистике и прочим заумным дисциплинам. Очень непривычно из самой открытой области (IT) заглянуть в закрытую, проприетарную, где все любят только деньги и никто не любит новичков.

  • В плане сообществ начал посещать Wilmott.com, Quant Finance @ StackExchange, ну и всякие Российские сайты иногда. Приятно быть в среде где ты очень мало понимаешь – это наверное как быть начинающим программистом, когда тебе все кажется какой-то магией. Единственная разница, как я понял, что программистом может быть вообще кто угодно, а на quant finance у большинства людей кишка тонка – нужно намного больше инвестиций – как временных так и денежных.

  • Я чуть было не пошел учиться на MFE (admission получил, что радует, значит не совсем идиот), но в последний момент решил что лучше практиковать чем сидеть и 2 года учиться. Был бы я лет на 10 помоложе, может и пошел бы.

Технологии которые удивили или порадовали:

  • iPad с Retina Display – и тут можно наверное без пояснений, не так ли? По сравнению со всем мусором что делается на платформе РС, новый iPad – единственное что стоит своих денег. (Я продолжаю плеваться в сторону производителей PC-ноутбуков, не говоря о планшетах. Горите все в аду.)

  • Audiolab M-DAC очень сильно порадовал качеством звука. Как сказал мне продавец в магазине, эти штуки расходятся как горячие пирожки. Не удивительно.

  • MindTouch – его бесплатная версия Core – оказалась прекрасной заменой SharePoint… впрочем, чем больше я думаю про SharePoint, тем более очевидна его несостоятельность. В то же время, Microsoft всех и каждого пытается перевести на порталы на SharePoint… на портале MVP меня уже заблокировали т.к. я проигнорировал их требования менять пароль.

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

У меня все. С наступающим!

Written by Dmitri

9 декабря 2012 at 19:51

Опубликовано в Life, Technology

Итоги 2011 года

16 комментариев

Сейчас блоггеры усиленно подводят итоги уходящего года, и я тут подумал – а чем я хуже? Мне тоже есть что рассказать! Рассказывать я буду конечно про технические вещи, с которыми успел “поиграться” в 2011 году. Поехали…

ПО, которое удалось зарелизить:

  • JetBrains ReSharper SDK, включая онлайн документацию. Также получилось добавить одну фичу непосредственно в ReSharper.

  • ActiveMesa R2P — обновления для ReSharper 6.0 и 6.1, также несколько фич по запросам пользователей (что особенно приятно). Появилось много классных вещей, без которых я и сам уже жить не могу. Впрочем, пишется в основном для себя, так что это понятно.

  • ActiveMesa MathSharp — нужно иметь много наглости чтобы просить почти 100 долларов за приложение, которое писалось максимум неделю. И покупают ведь! Первое приложение которое я выпускаю по ClickOnce, и не без факапов конечно же, но тем не менее… теперь точно понятно, что пользователи готовы качать 100-мегабайтный инсталлятор .Net 4 и их это не особо напрягает.

Языки и их использование:

  • D — открытие года для меня. Уже успел купить и прочитать книжку Александреску а также попробовать пописать на нем. Впечатления крайне позитивные, несмотря на отсутствие 64-битной поддержки а также явную “недопиленность” стандартной библиотеки Phobos. D – это язык на котором хочется писать и шипить ПО, в том числе и кросс-платформенное. Настоятельно рекомендую!

  • C# — продолжаю пользоваться, всем в принципе доволен. Обрастаю библиотеками с методами расширений, т.к. в любом проекте одно и то же, снова и снова. Также активно использую монаду Maybe для R2P.

  • C++ — продолжаю пользоваться, нововведения меня не очень затронули, в основном использую “хорошо забытое старое” а также типичный стэк – Intel TBB, OpenMP, SIMD.

  • F# — пришел к выводу что он очень хорош для определенного круга задач, и не очень хорош для всего что требует серьезного использования ООП. При написании MathSharp, да и вообще парсеров, он очень полезен. Для математики тоже весьма неплох, хотя тут уже его приемущества чисто психологические (т.е. это приемущества для математиков, но не для меня).

  • JavaScript — практически не использую напрямую, пишу все на C# и транскомпилирую через SharpKit (см. ниже). За пределами $.getJSON() стараюсь вообще не трогать.

Программы и компоненты, которые продолжают давать ощутимые бенефиты:

  • Контролы DevExpress (WinForms) — использую их с 2006 года и в целом доволен, особенно доволен стилизацией, до которой конкурентам далеко. Контролы DX продолжают лидировать в плане красивости UI, а это важно для пользователей.

  • Intel Parallel Studio — до черного пояса Intel мне как до луны, но инструментарием я продолжаю пользоваться, причем весьма успешно. Как ни странно, мне намного больше импонирует использование связки C# & IntelCPP чем связки C# & C++/CLI.

  • TypograFix продолжает развиваться, улучшаться, и этот пост я пишу, конечно же, на нем. (Через RDC, сидя на Mac’е.)

Программы и компоненты которые понравились и стали частью процесса:

  • Innovasys Document!X — теперь это моя стандартная тула для генерирования документации (CHM и Web) как для коммерческих, так и для OSS проектов. Действительно хороший продукт, который стоит своих денег.

  • Red Gate SmartAssembly — все любят ругать Red Gate за Reflector, но продукт SmartAssembly они выкупили у другой компании, и продукт это неплохой. SA – это обфускатор, ILMerge и репортилка исключений в одном флаконе. Да, ценник “зашкаливает”, но мне очень нравится функционал и UI. Нет, я не страдаю любовью к обфускаторам т.к. считаю эту затею бессмысленной, но вот красивый exception reporting многого стоит.

  • WiX — да-да, бесплатный пакет для создания инсталляторов существует уже давно, но “распробовал” его я только в этом году. Теперь все инсталляторы которые не используют ClickOnce делаются именно на WiX. Единственное, чего не хватает – это фич автообновления. Правда автообновление уже давно перестало быть большой проблемой. Но все равно хочется иметь его “из коробки”.

  • ActiPro Syntax Editor (WinForms) — казалось бы, что особенного в контроле-редакторе который показывает подсветку синтаксиса и code completion для C#? А то, что процесс динамического прототипирования можно сделать более “цивильным”. А динамическое прототипирование дает настолько серьезный прирост производительности, что не делать его уже кажется грехом. Впрочем, мне кажется я никогда не смогу объяснить людям все его бенефиты. Что же, это не критично.

  • SharpKit — транскомпилятор из C# в JavaScript. Чтобы не писать JS, который есть зло и должен умереть, хотя кто-то и соглашается на нем писать. Тулкит имеет завязки на разные фреймворки вроде jQuery, да и свои байндинги писать на так уж сложно.

Программы, которые я больше не планирую использовать:

  • SQL Server и другие RDBMS, а также такие ORM-фреймворки как Telerik OpenAccess. MongoDB хватает “за глаза”, и подход NOSQL идеален для большинства задач. Единственное исключение пока это embeddability, и тут я пожалуй продолжу пользоваться SQL CE (например в том же R2P), т.к. хороших альтернатив мало.

  • IIS и ASP.NET MVC — с момента моего перехода на подход JS+REST, эти технологии оказались нерелевантными. Хотя, по правде сказать, я по-прежнему использую IIS 6 для хостинга WCF REST приложений, но по крайней мере клиентскую часть я писать на ASP.NET больше не намерен.

  • NDepend — в нем есть полезные фичи, но они запрятаны под слоями академичного анализа который, если честно, не очень-то полезен для анализа моего кода. Гораздо полезнее обычные механизмы статического анализа.

  • Typemock Isolator — я на самом деле давно забросил использование такой “тяжелой артиллерии”, но недавно попробовал снова и был разочарован: оказалось что в VS Ultimate Typemock генерит много багов, и умеет работать только при определенно выставленной конфигурации, которая меня не устраивает.

  • Telerik MVC поскольку его больше не существует :) не говоря уже о том что я больше не буду писать под ASP.NET.

Технологии, которые удивили или порадовали:

  • Kindle DX — пожалуй лучшее мое приобретение года. Вопрос о покупке iPad’а даже не стоял, а KDX я прикупил после долгих раздумий и не сожалею – уже прочитал на нем уйму книг. Глаза он щадит, размер вменяемый для чтения “почти А4”. Есть конечно фейлы – бесплатный 3G не работает в России и Латвии (в Скандинавии – на ура), браузер допотопный, WiFi нету, и книжки которые продает Amazon (типа ‘Kindle Edition’) покупать нельзя т.к. все листинги кода в них – битмапы, оптимизированные под “маленький” киндл. Что просто чудовищно. PDF FTW.

  • Windows Phone 7 — честно скажу: я ожидал увидеть очередное мертворожденное детище. А получилась операционка с уникальным, красивым user experience. Ведь могут когда захотят! Теперь остается ждать планшетов, хотя скажу сразу: если iPad 3 будет выпущен с Retina Display, куплю не задумываясь, ибо хочется, наконец-то, вменяемого разрешения. Если оно будет, можно будет и PDFы попробовать читать, и travel guides всякие, комиксы, и так далее…

  • Qt Creator — не совсем “моё”, конечно, но Qt Creator порадовал тем что он, во-первых, работает, а во-вторых даже более-менее понятен. В принципе, если приложение действительно нужно сделать кросс-платформенным, то я бы скорее смотрел на Qt чем на Java или AIR. И все это в очередной раз подчеркивает, что если хочешь чтобы твой алгоритм был кросс-платформенным, пиши его на С++. Ну или на С, это тоже сработает.

Что технологического я ожидаю в 2012 году:

  • Запуск Visual Studio 2012, в комплекте с поддержкой Metro-style apps, AMP и отладкой на GPU, C#5 и так далее. Запуск новой Студии в Петербурге буду проводить лично, если только Microsoft не передумает и не снимет снова Прибалтийскую для эвента на 500 человек как на запуск 2010й. Впрочем, я не против, так и так.

  • Разработческая конференция на пароме, курсирующем по скандинавии. С последующими туристическими ответвлениями. Будет весело.

  • Смерть и/или перерождение RIM. Серьезно, что же с ними будет? Кто-нибудь может себе представить WP7 на Blackberry?

Ну и наконец:

  • В 2012м я окончательно уеду из России (куда – пока секрет, скажу лишь что это не Англия и не Швеция). Впрочем, произойдет это небыстро – переезд это дело мутное, нужно сделать 1000 дел, все проверить-перепроверить, совершить несколько плановых полетов. Главное что это произойдет – понимание этого уже радует.

P.S.: С Новым Годом!!!

Written by Dmitri

31 декабря 2011 at 13:36

Опубликовано в Life, Technology

Новости (Апрель 2011)

11 комментариев

Этот пост новостного типа – расскажу про то, что произошло и про то, что происходит. С удовольствием написал бы технический пост, но пока все очень туманно – может чуть позже. Итак…

Релиз MathSharp

Давным-давно я попал на проект, где при разработке программ нужно было переводить математические формулы в код. Тогда я только и думал о том, как все это автоматизировать дабы конвертировать формулы в код автоматически. И вот спустя несколько лет, я создал проект ActiveMesa MathSharp. MathSharp – это программа, которая умеет переводить контент из формата MathML (который можно получить из Microsoft Word 2007/2010, MathType, Maple и других систем) в код на языках C# или F#.

Вот небольшой видеоролик, в котором показано как работает MathSharp:

Если коротко – вы пишете

а оно переводит это в

p = rho*R*T + (B_0*R*T-A_0-((C_0) / (T*T))+((E_0) / (Math.Pow(T, 4))))*rho*rho +
    (b*R*T-a-((d) / (T)))*Math.Pow(rho, 3) +
    alpha*(a+((d) / (t)))*Math.Pow(rho, 6) +
    ((c*Math.Pow(rho, 3)) / (T*T))*(1+gamma*rho*rho)*Math.Exp(-gamma*rho*rho);

Если вам понравилась идея, само приложение можно найти тут: http://activemesa.com/mathsharp. Стоит оно $95 – дешевле чем один инженерный час, так что если оно кому-то сэкономит хоть час работы, значит выгода уже есть.

P.S.: этот релиз позволил мне получить следующие "ачивменты":

  • Зарелизил проект написанный на F# (есть соблазн накатать статейку для fprog.ru)
  • Зарелизил самообновляемое приложение

Возобновление встреч Spbalt.net

После небольшого перерыва мы возобновляем наши встречи – уже в другом месте, в помещении которое любезно предоставляет нам компания DataArt. Первые мои семинары проводились именно в DataArt под флагом их DataArt Way. Собственно там все и началось. Так что я доволен что мы сможем снова там встречаться.

Следующая встреча пройдет в четверг 21го. Будет рассказ про создание back-end’а для MMO RPG. Подробности тут: http://spbalt.net/home/meetings/27

Новый проект

После релиза MathSharp нужно чем-то снова заняться, поэтому я решил написать что-то посложнее. Сейчас я в стадии R&D экспериментирую с идеей code provider’ов (по аналогии с type provider’ами). Идея в том, чтобы иметь распределенные сервисы, которые могли бы заниматься не столько анализом сколько порождением нового кода на основе декларативных моделей.

Для тех из вас кому интересно что стало с FSharper’ом, могу сказать что на данный момент проект приостановлен – в основном потому, что надо было делать MathSharp – но возможно я и вернусь к нему. “Ничего обещать не буду.”

Written by Dmitri

17 апреля 2011 at 17:53

Опубликовано в Life

Tagged with , ,

Не самое радужное время

34 комментария

За последние несколько недель, я не видел ничего интересного ни на ГДН ни в секции .Net на Хабре. Констатирую факт: эти ресурсы для дотнетчиков мертвы, и я не собираюсь бросать всё и воскрешать их.

Недавно в связи с трениями насчет журнала получил (не один я) письмо от редактора РСДН (это как MSDN только Russian) с идеей о том что стоило бы писать туда. Посмотрев список выпусков, увидел что если в последние годы РСДН публиковал по 4 выпуска в год, то в 2010м готов только один. У меня есть большой соблазн написать статью в этот журнал, но идею отдельного журнала я тоже бросать не хочу.

Публикации в Рунете на технические темы кажутся все более и более бессмысленны. Я через CodeProject нашел заказчика, а какие шансы найти заказы через ГДН или Хабр? Нулевые. Не будем себя обманывать.

Что касается встреч spbalt.net и Ineta, скорее всего они продолжатся. Меня все еще удручает то, что нет новых докладчиков – как сказал коллега, не хочется “свистеть в пустоту”. Все нужно либо ставить на холодную, денежную основу, либо GTFO. Если вы с этим несогласны, пишите ниже.

И еще, не хочу никого расстраивать, но технических статей с этом блоге не будет. Усилий много, отдачи мало. (Попробуете меня переубедить?)

Written by Dmitri

23 сентября 2010 at 21:13

Опубликовано в Leadership, Life, Russia, Technology