tag:blogger.com,1999:blog-60316479615060054242024-02-19T05:15:59.160+02:00Lisp, the Universe and EverythingVsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-6031647961506005424.post-20105554836243714662016-12-31T14:21:00.000+02:002016-12-31T14:23:28.554+02:00Уроки курса «Алгоритмика»<img src="https://prjctr.com.ua/assets/static/v1.4.2/images/logo.png" style="float:right; margin-left: 30px;"/>
<p>
28 декабря состоялся второй выпуск слушателей курса по алгоритмам в Projector. Пока что именно "слушателей", а не полноценных выпускников, потому что до 100% того, чем может и должен стать этот курс, еще очень далеко. Но чтобы достичь этих 100%, в том числе, нужно подвести некоторые промежуточные итоги. Первая попытка, прошедшая весной и в начале лета, официально позиционировалась как бета-версия, но и вторая, по факту, тоже оказалось пробной, т.к. курс был разделен на 2 уровня сложности и существенно переработан.
<p>
Что можно сказать точно — что курс нужен. Эти знания и навыки дают возможность программисту перейти из категории кодера в полноценного разработчика, способного решать задачи любой сложности. Именно такие люди нужны как гуглам и фейсбукам (и поэтому они уделяют такое внимание теме алгоритмов на собеседованиях), так и небольшим амбициозным продуктовым командам. Да и самому себе: это один из аспектов, котороый дает возможность программисту "расправить крылья" и полюбить свою работу, получив возможность сделать ее разнообразной и приносящей гораздо большую отдачу. И то количество людей, которые этим активно интересуются, показывает, что на рынке тоже есть такое понимание. Хотя эти знания относятся к базовым для университетского курса Компьютерных наук, далеко не у всех была возможность их освоить: кто-то пришел в профессию не классическим путем, кому-то не повезло с вузом и преподавателями, кто-то, просто, прогулял и теперь, набравшись ума-разумуа, хотел бы наверстать упущенное.
<p>
Другой вопрос, что разным категориям из этой группы людей подходят разные форматы обучения. Для кого-то это онлайн-обучение, для кого-то — классический университет, и только немногие, объективно, готовы к формату интенсивных трехмесячных курсов. Практика показывает, что где-то треть людей, записавшихся и начавших ходить на такие курсы, быстро осознает это и отпадает. В итоге, до конца двух первых курсов у меня доходило чуть меньше половины участников, причем далеко не все из них успешно проходили весь материал. Т.е. помимо тех, кто просто попал не туда и ушел сразу, есть еще примерно такое же количество, которые могли бы получить хороший результат, но этого не произошло. Почему так? В первую очередь, конечно, причина в недоработках с моей стороны.
<p>
Наконец, если в востребованности направления алгоритмов в целом у меня нет сомнений, то вот потребность именно в продвинутом курсе пока что не доказана. Да, первый набор был закрыт, но мы сделали ключевую ошибку: не отфильтровали его должным образом, т.к. надеялись, что те, кто в себе не уверен, пойдут на базовый курс. Это сработало лишь отчасти. Второй момент: люди ждут от продвинутых алгоритмов нечто большого, чем только алгоритмов — конкретно, они хотят машинного обучения. И это можно понять: все хотят машинного обучения :) Оно было заключительной частью программы последней итерации курса (и прошло, как по мне, на ура), но из-за этого пострадал весь остальной материал, который объективно не вмещался в формат. Поэтому машинного обучения больше не будет в рамках Алгоритмики Про. Впрочем, ее сомневаюсь, что очень скоро оно появится в виде отдельного курса, т.к. спрос на это направление сейчас зашкаливает.
<p>
В итоге, что же такое Алгоритмика Про и есть ли в достаточном количестве те, кому она нужна? Это сложный курс и сложный вопрос. Его основная идея — это погрузить практикующих программистов в проблематику решения реальных алгоритмических задач: работу с данными размером как минимумом в гигабайты, или реальными графами с миллионами узлов, разобраться в том, как функционируют современные базы данных, редакторы и системы контроля версий, изучить различные алгоритмы оптимизации и применить их для задач из окружающей действительности, залезть под капот сервера и уменьшить время ожидания запросов в его очереди. К сожалению, пока что я только нащупываю это направление. С одной стороны, не все практические проблемы, до которых можно дотянутся, лежали на поверхности (хотя сейчас по опыту двух курсов эта тема для меня довольно неплохо прояснилась). С другой — для этого не было достаточно готовности, вовлеченности и отдачи со стороны участников. Много ли у нас программистов, которые хотят прокачаться в алгоритмической разработке, находятся на должном уровне и готовы выделить для этого большой кусок времени в течение трех месяцев — вот это главный вопрос, ответа на который мы пока не знаем. Такие люди, одназначно, были на первых двух моих курсах. Но, к сожалению, их можно было сосчитать на пальцах одной руки, когда нужно было бы задействовать хотя бы четыре...
<h2>Основные вызовы курса для меня</h2>
<p>
Первый из них я, фактически, описал выше. С самого первого дня обсуждения мы говорили о том, что этот курс должен быть максимально практичным. И я честно старался добиться этого. Но практичность имеет разные аспекты: один аспект — это практическая работа, т.е., в данном контексте, банальное программирование. К сожалению, мне не удалось привлечь к этому каждого участника, хотя по моими прикидкам и прошлому опыту казалось, что это произойдет естественно. Второй аспект практичности — это обсуждение (и реализация) примеров из реального мира, где это все используется. Этому я также старался уделять должное внимание: как рассказывать кейсы на лекциях, так и давать подобные задания (хотя их было меньше, чем могло быть), так и в аспекте курсовой работы. К сожалению, эта часть, как по мне, основывается на первой, т.е. активном программировании, а без него она тоже сильно буксовала. Это проблема номер один, которую я намерен активно решать в рамках следующего курса.
<p>
Она также упирается в наличии удобной среды для такой работы у каждого участника курса, а также ее единства для всех участников, чтобы можно было где-то подталкивать продвижение вперед. Я начал первый курс с демонстрацией примеров кода на Лиспе. Это не всем нравилось, хотя все был об этом честно предупрежденны. В итоге, второй вариант был более абстрактным: описание алгоритмов на доске без привязки к тому или иному языку. Этот AB-тест показал, что так не работает: нужно иметь под рукой код, который можно пощупать и покрутить, и который можно подкинуть человек, который застрял, чтоб он мог двигаться дальше. Учитывая мою собственную привязку к Лиспу, а также то, что язык хорошо подходит для реализации алгоритмов, я планирую продолжать настаивать на его использовании. Почему не Python или что-то другое? Во-первых, многие языки не очень пригодны для изучения алгоритмов вообще: яркий пример — это JavaScript, который слишком не четок, не имеет полноценной поддержки арифметики и нужных структур данных, другая крайность — это статические языки, особенно низкоуровневые, которые, с одной стороны, дают много возможностей для оптимизации, но, с другой, вносят слишком много ограничений (в частности, более сложный процесс разработки) и избыточной сложности. Что до Питона, то он более-менее подходит, но я его, по-просту, не люблю, тем более, что курсов по алгоритмам на Питоне хватает. Что ж до конкретно Лиспа и его особенностей: я считаб, что это хороший фильтр, которых нам не хватало при наборе на предыдущие курсы. На самом деле, разобраться в Лиспе на базовом уровне, необходимом для этого курса, не сложно. И если у человека не хватает мотивации и доверия, чтобы это сделать, это многое говорит о его дальнейшей мотивации преодолевать трудности во время самого курса. А, как показала практика, цитируя одного из студентов курса, "Сам факт, що лекція коштує 550 грн, ще не має достатньо стимулючого ефекту," щоб виконати домашнє завдання :(
<h2>А зачем, вообще, платить?</h2>
<p>
Очевидный и резонный вопрос, на который должен ответить для себя каждый желающий пройти этот курс — это вопрос, стоит ли он того и зачем, вообще, платить? Ведь есть интернет, википедия и прекрасные онлайн-курсы, на которых можно изучить то же самое. И это, действительно, так! В отличие от онлайн-курсов, оффлайн-курсы не могут быть бесплатными, поскольку они должны окупать аренду помещения и другие расходы, достойную оплату преподаваталя и персонала, и давать какую-то прибыль организаторам. И к ним не применима фримиум-модель, которую используют Курсера и другие. Да и, вообще, за все в жизни нужно платить.
<p>
Но если взглянуть с практической стороны, ROI любого обучения — это отношение полученного результата к затратам денег и времени на его достижение. По-идее, оффлайн-курсы могут выигрывать за счет более высокого среднего результата и меньших затрат времени. Что может войти в этот лучший результат?
<ul><li>во-первых, как ни банально это звучит, "волшебный пендель", т.е. внешняя мотивация пробежать этот забег от начала и до конца. И вложенные деньги тоже являются частью этой мотивации, хотя, как показывает практика, не достаточной. В этих курсах пока не было соревновательного момента, который присущ классическому обучению, и это еще одно направление, над которым нужно немного поработать (наметки есть)
<li>во-вторых, возможность личного общения с преподавателем и другими учениками. Для меня это, на самом деле, одна из главных мотиваций делать этот курс: возможность взаимодействия с программистами, которые ищут и хотят развиваться в профессии. Парадокс в том, что даже не смотря на то, что я получаю неплохие деньги за этот курс, я все равно зарабатываю больше за основную свою работу. Т.е. меньший заработок должен компенсироваться чем-то другим. Для меня это другое — это возможность со-творчества с участниками курса. А это значит, что мы должны быть на одной волне и идти, в первую очередь, иметь желание попасть на занятие и провести его полноценно. В идеале, завязавшиеся во время обучения связи должны быть одним из главных долгосрочных активов после окончания курса
<li>комфортная среда обучения и общения, причастность к сообществу. Projector делает очень важное дело, создавая на основе своей площадки сообщества профессионалов в сфере дизайна, продуктовой разработки и программирования (а также, в будущем, я думаю и других областях)</ul>
<h2>Кому стоит и не стоит идти на курсы по алгоритмам в Projector</h2>
<p>
Для меня, на самом деле, это ключевой вопрос всей этой темы. Ни я, ни Projector не ставим себе цели массовости и сверхприбылей. Во-первых, это не устойчиво и закончится пшиком, во-вторых, никакого внутреннего удовлетворения от такой работы не получишь. Между группой из 8-10 мотивированных людей, которые знают, куда и зачем пришли, и 20 вольно интересующимися я выбираю первый вариант, хотя второй, на самом деле, проще. Первые две итерации курсов были поиском: поиском правильного формата и адекватной ему аудитории.
<p>
Мой вывод следующий: эти курсы подходят тем, кто
<ul><li>уже имеют некоторый опыт программирования (в идеале, хотя бы пару лет)
<li>осознал для себя ценность алгоритмов, и не будет мучаться вечным вопросом украинского студента: "где же это все применяется в реальной жизни?" Ответ на него, с моей точки зрения: кто хочет, тот найдет. Спрос на алгоритмических программистов есть, и хотя он не более нишевый, но в нишах всегда больше и интерес, и доходы
<li>готов (как психологически, так и организационно) 3 месяца стабильно уделять минимум 10 часов в неделю этим занятиям, а также, что еще более важно, уделять им основной ресурс своего мозга. Практически, это означает, что в это время не удастся полноценно интенсивно работать. Как показали эти 2 курса, самое лучший период для участия в этой авантюре — это либо перерыв между работами, либо последние курсы вуза. Те, кто пытаются одновременно интенсивно работать в разработке и учиться, либо забивают на курс, либо жалуются, что работа начинает страдать, либо берут отпуск, чтобы подтянуть хвосты. Также это может прокатить для тех, у кого работа сейчас не предполагает активное написание кода. Если же вы только что поменяли работу, как раз должны заканчивать важный проект, ожидаете рождения ребенка (да, и такие случаи уже бывали :) или же собираетесь уехать в середине в отпуск или коммандировку, то этот формат точно не для вас</ul>
Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com0tag:blogger.com,1999:blog-6031647961506005424.post-23106816001302025892016-01-03T21:42:00.000+02:002016-01-03T21:45:31.452+02:00КПИ no more<div dir="ltr" style="text-align: left;" trbidi="on">
Это последний год, который я читаю в КПИ курс <a href="https://vseloved.github.io/spos.html">"Операционные системы"</a>. Пролистав архив переписки, я сделал вывод, что начал это делать в 2009 году, т.е 6 лет назад, и за это время через меня прошло более 500 студентов. Выходит, я проработал преподавателем уже больше, чем проучился в институте, иными словами мой долг перед альма матер можно считать исполненным :)<br />
<br />
В этом тексте я хочу описать свой опыт и ответить на вопрос, почему решил уйти. Начнем с конца: потому что, кроме меня, это, по большому счету, никому не нужно. А у меня с каждым годом все меньше и меньше времени делать никому не нужные вещи.<br />
<br />
А теперь по порядку.<br />
<br />
Шесть лет назад я начинал создавать этот курс с чистого листа. Что мне нравилось, это то, что был полный карт-бланш для экспериментов и выбора методик преподавания, и это дало возможность попробовать много всего и понять, что работает (для меня), а что нет. Для студентов это не всегда было благоприятно, т.к. далеко не все эксперименты были успешными, но, все же, я считаю, что это лучше, чем то, что было у нас, когда этот курс просто спускался на тормозах (это, собственно, и была моя изначальная мотивация прийти читать его). Каждый год я ставил себе условную оценку за проделанную работу, и если вначале это была твердая двойка, то сейчас, я считаю, что это минимум 4 или 4+ (в прошлом году я также попросил студентов поставить мне оценку, и у них тоже в среднем вышла четверка).<br />
<br />
В целом, курсом я преследовал такие цели:<br />
<br />
<ul style="text-align: left;"><li>ввести студентов в парадигму системного программирования, показать ее интересные стороны и задачи</li>
<li>дать им альтернативный взгляд на разработку ПО (а не только ООП и C#, которые являются основными на нашей кафедре)</li>
<li>научить работать с Unix-средой и консолью</li>
<li>научить не боятся ассемблера и, вообще, низкоуровневых вещей</li>
<li>чуть-чуть познакомить с новыми языками прогарммирования, которые актуальны для системной разработки</li>
<li>познакомить с опен-сорсом</li></ul>
Не все из этих целей я достигал в рамках курса в тот или иной год: иногда получалось лучше что-то одно, иногда другое, но, думаю, что все они акутальны. Кроме того, если задаться целью, то на основе этого курса легко можно сделать продвинутое продолжение — "Разработка ОС" (аналог <a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/">MIT Operating System Engineering</a>). За 6 лет удалось собрать достаточно материала, который доступен в виде <a href="https://vseloved.github.io/spos.html">конспекта и заданий</a> (а также <a href="https://github.com/vseloved/kpi-spos">исходников к ним</a>). Более того, в качестве побочного продукта я разработал небольшую систему публикации материалов (свой leanpub), а также тестирования теории. Единственное, до чего так и не дошли руки — это система автоматического тестирования лабораторных. Если придумать, как эффективно масштабировать такую штуку, то это был бы, действительно, золотой грааль, но, к сожалению, основная работа тут, кажется, все равно будет заключаться в написании ручных тестов. А главный закон преподавателя: ручная проверка практических работ — самый большой убийца мотивации...<br />
<h4 style="text-align: left;">
Почему это никому не нужно в КПИ?</h4>
Четыре года назад я написал колонку на ДОУ <a href="http://dou.ua/columns/ukrainian-stanford/">"Украинский Стенфорд"</a>, в которой изложил свой ограниченный взгляд на проблемы, вызовы и возможности нашего высшего технического образования. С тех пор ситуация конкретно в КПИ скорее ухудшилась: ушли многие из старых профессоров, многие из хороших молодых преподавателей также по разным причинам не задержались, так что еще лет 5 и на ФИВТе преподавать, похоже, останутся только люди, не имеющие особого отношения ни к индустрии, ни к науке. Впрочем, это не значит, что такая ситуация везде: мне кажется, сейчас достаточно 1-2 ориентиованных на модернизацию людей в руководстве какого-то факультета или кафедры, чтобы организовать там вполне качественное обучение (все остальное, в принципе, есть). Иными словами, с моей точки зрения основным тормозом изменений университета сейчас является его руководство (на всех уровнях). В связи с этим интересно посмотреть, как будет развиваться ситуация в ХНУРЕ, куда ректором пришел Эдуард Рубин...<br />
<br />
Что также интересно, внешне КПИ меняется в лучшую сторону. Хорошо развивается кампус, причем в этот процесс активно включились студенты с такими проектами, как <a href="https://vk.com/belka_space_kpi">Белка</a>, <a href="http://vezha.kpi.ua/">Вежа</a> или <a href="http://rkpi.me/">Радио КПИ</a>. Много движения в культурной и социальной жизни (вопреки инерции системы). Отличная инициатива — <a href="http://summerschool.ssa.org.ua/">Летняя школа</a>, которая проходит уже 10 лет и в которой я участвовал последние 2 года. В прошом году мы даже провели <a href="http://tedx.kpi.ua/">TEDxKPI</a>! Обычно, такие позитивные внешние проявления следуют за изменением внутренних процессов, но тут имеет место несколько иная динамика: университет — это по определению открытая система, которая постоянна испытывает приток новой крови, и среди этой новой крови действуют те же тренды, что и по всей стране ("бери и делай"). Но, в то же время, с такой же легкостью, с которой новая энергия прибывает сюда, она здесь и надолго не задерживается: активным студентам почти нет стимула оставаться в аспирантуре, а для многих преподавателей это, фактически, волонтерство (например, моя зарплата в КПИ более чем в десять раз меньше тех денег, которые я могу заработать в индустрии), которое почти всегда не стабильно. Именно поэтому я говорю о том, что при ситуацию можно было бы поменять при правильной ориентации руководства: на улучшение качества студентов (за счет их количества), поддержку новых инициатив, уменьшение бюрократии.<br />
<h4 style="text-align: left;">
Однако, к сожалению, стратегического видения развития университета нет.</h4>
С моей точки зрения, есть 2 рабочих модели высшего образования:<br />
<br />
<ul style="text-align: left;"><li>элитарная, когда отбирается небольшое количество самых талантливых и мотивированных студентов и преподаватель работает с ними индивидуально (к ней есть хороший "анекдот" про астрофизика, который читал свой курс в какой-то далекой обсерватории только для двух студентов, оба из которых потом стали Нобелевскими лауреатами)</li>
<li>массовая, когда набирается большая группа студентов и их всех подтягивают до какого-то базового уровня</li></ul>
<br />
Очевидно, что КПИ реализовывает второй подход: на последнем потоке второго курса, которому я читал, учится около 100 человек. И таких потоков по направлению компьютерных наук в университете несколько. Но чтобы массовая система работала, она должна быть действительно системой (в которой нет слабых звеньев). В первую очередь, студенты должны быть мотивированы. По принципу кнута и пряника.<br />
<br />
Позитивной мотивацией должно быть желание получить современную и перспективную специальность, а в процессе делать интересные и прикольные штуки, а негативной — реальная возможность вылететь. К сожалению, в КПИ обе эти мотивации недоразвиты. По большому счету, в наших реалиях на первом и втором курсе нужно выгонять минимум 20% студентов (примерно столько людей у меня на курсе вообще ничего не делает по ходу семестра и начинают пытатся что-то сдать в лучшем случае к его концу, если не к сессии). Но систематической политики выгонять нет, скорее, наоборот, есть вялое сопротивление тем, кто пытается это делать.<br />
<br />
Что до позитивной мотивации, то в КПИ ее перебивает передающаяся из поколения в поколения совковая традиция этого университета, который можно выразить несколькими популярными у студентов мемами:<br />
<br />
<ul style="text-align: left;"><li>главное — это сдать зачет/сессию/получить диплом (и для этого хороши все способы, в том числе обман)</li>
<li>то, чему нас учат, никогда не понадобиться в реальной жизни</li>
<li>лучший друг студента — это шара</li></ul>
Но хорошая новость в том, что спрос на качественное техническое образование есть и он никуда не денется, и чем больше будут деградировать существующие институции, тем больше места будет открываться для новых начинаний и форм. Я думаю, что в течение ближайших 5 лет у нас появится минимум 1 технический "университет" нового образца, в котором можно будет получить образование на мировом уровне (как я написал, для этого, в принципе, есть всё, кроме некоторой доли лидерства). Я также надеюсь, что сам смогу чем-то помочь в этом. Но, чтобы начать что-то новое, нужно сначала завершить старое. Жаль только, буду скучать за парком КПИ, тополями и каштанами...<br />
<br/>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOluL-dvBvJ3T8z8uUU6hx9a9PzVzbZxpjRI1is4QHpSNEGDPpo7aHpf7VCWdXG0z-Lz6iVoIfXFcMviI8b6NtD6r73iLeskHrA5SnX_e08snl6ogn8aPNxXmzJPSyGUkXQg0HKMrncOc/s400/12291176_10153812288673552_5476963373799342068_o.jpg" /></div>
Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com0tag:blogger.com,1999:blog-6031647961506005424.post-37338872505197379512011-12-21T09:47:00.004+02:002011-12-21T11:20:53.066+02:00Реальная норма часов работы программиста в деньВ 2009-10 годах у меня был некоторый опыт удаленной работы программистом на основе почасовой оплаты. С тех пор я периодически задумывался над тем, сколько же <b>реальных часов работы над кодом в день</b> должен в среднем выдавать программист. На самом деле, этот вопрос, а точнее его последствия, актуален для любого формата работы: как офисной, так и удаленной, так и всего, что между. В "офисном" варианте оплачивается фиксированное время работы и задача в оптимизации реального времени в рамках этого интервала (гибкий график, уменьшение количества встреч и т.п.) Проблемой фриланс-варианта является то, что большинство заказчиков не понимают, что они должны платить не только за время реальной работы над кодом, но и за сопутствующие активности, типа ковыряния в носу, и/или не знают, какое должно быть соотношение этих активностей к собственно программированию.<br /><br />И вот, на днях на хакерньюз я наткнулся на отличную статью профессиональной писательницы <a href="http://thisblogisaploy.blogspot.com/2011/06/how-i-went-from-writing-2000-words-day.html">о повышении эффективности ее труда в 5 раз</a> (с 2 до 10 тысяч слов в день). Фактически, ей удалось это сделать за счет выработки метода систематического вхождения в поток. А как все мы творческие работники знаем, поток — это залог эффективной работы*. Но, что в этой статье для меня было действительно важным — это то, что человек, добившийся такой эффективности, констатировал факт: собственно непрерывной работы у нее в среднем 4 часа в день — в самых удачных случаях до 7 — плюс 2 часа с утра, которые расходуются на подготовительную работу. А если вырабатывать больше, то эффективность начинает падать. Не говоря о том, что можно перегореть. <br /><br />Это наблюдение совпадает и с моим опытом: у меня такое же количество (4-6) часов эффективного писания кода в день. В этом нет ничего удивительного, поскольку труд программиста ничем не выделяется из ряда других творческих профессий: писателя, дизайнера или же композитора. Что же тогда делать с 8-ми часовым рабочим днем? На самом деле, ничего плохого в том, что только 50-75% рабочего времени тратится собственно на работу нет: остальное время тоже не пропадает зря, посколько тратится на комуникацию (без которой любая компания и проект обречены), а также какие-то нерабочие активности, которые формируют ту самую мифическую "корпоративную культуру". И даже если этих активностей нет (фриланс) — это не значит, что: а). программист может это время потратить на работу над кодом б). программисту они не нужны (нужны, возможно, только в другой форме: социализация нужна всем).<br /><br />Т.е. выходит 2 числа, характеризующие нормального программиста: максимум 6 часов (а в среднем: 4 часа) программирования в день и коэфициент 1.5 соотношения часов программирования к часам работы. И эти числа нужно принять как исходные данные, на основании которых менеджеры могут стоить какие-то предположения, оценки и методики.<br /><br />Кроме того, такой взгляд разрешает для меня <b>диллему эстимейтов</b>: должен и может ли, вообще, их делать программист?<br /><br />Функция time профилировщиков программ выдает обычно 2 числа: total time и real/cpu time. Первое значение — это фактическое время, которое прошло от старта программы до завершения. На него могут влиять такие факторы, как кеширование, ожидание ввода-вывода и т.п. А сpu time — это время, которое программа действительно выполнялась на процессоре. По-хорошему, именно это, второе время, может научиться оценивать программист: т.е. время, которое ему понадобиться для написания и отладки кода, когда он будет находится в "разогретом" режиме работы. А вот общее время — которое, на самом деле, интересует бизнес — может научиться оценивать только менеджер, беря во внимание оценки программистов (и их историческое качество), а также 100500 других факторов, которые могут повлиять на режим его работы: кеширование, своевременное заполнение пайплайнов, переключене контекста и т.д.<br /><br />* Те, кто не знает, может очень быстро узнать из уст человека, который сформулировал эту концепцию (или из его классической книги Flow):<br /><object width="526" height="374"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talk/stream/2004/Blank/MihalyCsikszentmihalyi_2004-320k.mp4&su=http://images.ted.com/images/ted/tedindex/embed-posters/MihalyCsikszentmihalyi-2004.embed_thumbnail.jpg&vw=512&vh=288&ap=0&ti=366&lang=&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=mihaly_csikszentmihalyi_on_flow;year=2004;theme=unconventional_explanations;theme=the_creative_spark;theme=how_the_mind_works;event=TED2004;tag=Culture;tag=Global+Issues;tag=happiness;tag=music;tag=psychology;tag=work;&preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="526" height="374" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talk/stream/2004/Blank/MihalyCsikszentmihalyi_2004-320k.mp4&su=http://images.ted.com/images/ted/tedindex/embed-posters/MihalyCsikszentmihalyi-2004.embed_thumbnail.jpg&vw=512&vh=288&ap=0&ti=366&lang=&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=mihaly_csikszentmihalyi_on_flow;year=2004;theme=unconventional_explanations;theme=the_creative_spark;theme=how_the_mind_works;event=TED2004;tag=Culture;tag=Global+Issues;tag=happiness;tag=music;tag=psychology;tag=work;&preAdTag=tconf.ted/embed;tile=1;sz=512x288;"></embed><br /></object>Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com2tag:blogger.com,1999:blog-6031647961506005424.post-51096368863001827972010-10-17T15:16:00.002+03:002010-10-17T15:33:35.921+03:00Роль CTO в технологической компанииЕсть известная максима, давно проповедуемая Полом Гремом и взятая на вооружение большей частью американского стартап-сообщества, о том, что технологические стартапы должны иметь минимум двух основателей. Можно много дискутировать на тему, с чем это связанно: например, есть версия, что "если предприниматель не способен убедить в своей идее хотя бы еще одного человека, то он тем более не сможет убедить в этом рынок". Я же пришел к выводу, что всё упирается в ответ на вопрос, что можно аутсорсить, а что нет? Как известно, нельзя этого делать с ключевыми функциями компании. И первой ключевой функцией является формирование ее идентичности на рынке. Этим занимается человек, называемый американцами CEO, хотя более правильно было бы назвать его просто лидером проекта. По своей базе он может быть как инженером, так и маркетологом, финансистом или продажником. Это не столь важно, поскольку его главная роль, которая заключается в том, чтобы вести компанию в правильном направлении и рассказывать об этом рынку через маркетинг, биздев, продажи, PR и т.д. и т.п., не требует особой специализации. Очевидно, что при этом он должен стоять у истоков идеи, которая реализуется, и сам крепко верить в нее, иначе он не сможет убедить в ней других. И эта роль настолько обширна, что она должна быть единственной сферой ответственности такого человека. Да, он может быть крутым программистом и вносить свой вклад, а, воможно, и наибольшее ноу-хау в технологии своей компании, но он не может быть ответственным за эту сферу в целом. Потому что, если отвечать за два дела одновременно, то ни одно из них не выйдет сделать хорошо. И это показывает опыт, в том числе и мой собственный.<br /><br />Вот здесь и выходит на арену CTO, роль которого в компании заключается в технологическом лидерстве. Часто считается, что СТО должен написать основную часть кода, если это касается софтверного стартапа. Это не обязательно. Код могут написать хоть 10 фрилансеров или 100 миллионов обезьян, поскольку это довольно стандартная работа, и если правильно поставить задачу, с ней прекрасно справится наемный сотрудник. Но вот, что сложно — так это поставить задачу и сформулировать рамки, в которых должен развиваться проект, а потом следить за тем, чтобы они соблюдались. В технологическом бизнесе, как ни крути, а основные риски все-таки технологические. И все остальные участники процесса (наемные сотрудники, клиенты и т.д.) будут их только увеличивать. Единственный, кто может и должен с ними бороться — это СТО.<br /><br />СТО — это роль того, кто принимает окончательное решение, выбрать технологию Х, за которую выступает разработчик, или Y, которая сейчас на волне хайпа. Это тот, кто не спит ночами из-за того, что не настроен бекап базы данных. Это тот, кто вводит практику ревью кода и добивается ее реального воплощения. Тот, кто отвечает программистам на вопросы: "зачем?", "почему?" и "когда?" Тот, кто отбирает подходящих инженеров. И принимает еще 100500 разных решений, а потом добивается их исполнения. В общем, это тот, кто создает технологическую культуру компании и не дает появляться технологическуму долгу, который в будущем (и, скорее, близком, чем отдаленном) потянет компанию ко дну или же не даст ей развиваться необходимыми темпами.<br /><br />Так что правило про двух основателей я переформулировал бы так.<br /><blockquote>На этапе становления у технологического бизнеса есть 2 ключевые роли, которые должны выполнять 2 разных основателя компании: бизнес-лидер и технолонический лидер.</blockquote>Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com4tag:blogger.com,1999:blog-6031647961506005424.post-62939768906755839712010-06-29T23:15:00.004+03:002010-07-27T18:15:46.766+03:00Что такое стартап?Или точнее, что отличает настоящий стартап от других видов бизнеса? Еще один вопрос, не имеющий никакого практического значения, но всегда являющийся интересной темой для поговорить :)<br /><br />После 2-х лет, в течение которых я более-менее имею отношение к этой сфере, сегодня пришла простая формулировка, что же я под ним понимаю.<br /><br />В общем, стартап — это начинание, в котором сочетаются и сбаллансированны 3 составляющих: исследовательская, инженерная и бизнес. Исследовательская отвечает за сферу инноваций, инженерная — за их "доставку" до конечного потребителя, а бизнес — за извлечение из этого денег, позволяющих продолжать работу, развиваться и достигать личных целей основателям. При этом тут, на самом деле, не важна сфера: инженерия сейчас нужна не только в Интернете :), но и в биохимии, и во флористике. (Вот, кстати, хорошая цитата про то, почему же отдельно исследование, а отдельно инженерия, случайно встреченная мною в статье в <a href="http://en.wikipedia.org/wiki/Equal_transit-time_fallacy">Википедии</a>: "The theory, while correct in as far as it goes, is not sufficient to allow one to do engineering").<br /><br />При этом про стартапы часто говорят, что в их основе лежит <a href="http://youtu.be/xjDtI-d3jyo">масштабирование</a>, но, как по мне, это естественное следствие того, что все 3 компоненты присутствуют и хорошо работают: исследования обеспечивают то, что стартап реально помогает людям, т.е. на его продукты есть масштабный спрос, инженерия обеспечивает возможность удовлетворить требуемый масштаб клиентов, а бизнес — донести до них информацию о такой возможности.<br /><br />А вот если одна из составляющих отсутсвует или не работает, как надо, то это уже не стартап а другого рода начинание, тем не менее, тоже имеющее право на жизнь (просто, нужно отдавать себе в этом отчет). Если нет инновационной части, то это просто новый бизнес или даже просто проект (и это как раз основное большинство того, что сейчас называют "стартапами", скажем, веб-сайты служб знакомств). Если нет бизнес-составляющей, то это своеобразная форма творчества, только у инженеров, работа ради самого процесса, а не результата. Впрочем, в таких случаях, как и с любым творчеством, иногда может получится что-то выдающееся. Ну и, если нет инженерии, то это холостой выстрел, бизнес, который не состоится, а лишь расчистит дорогу для других. Хотя чаще бывает, что все-таки удается восполнить этот недостаток: почти все бизнесмены понимают, что исполнение — это большая часть успеха.Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com1tag:blogger.com,1999:blog-6031647961506005424.post-34621538658461001892010-05-18T15:35:00.016+03:002010-05-18T16:05:43.477+03:00Простая модель налоговой реформы для малого И крупного бизнесаЯ не буду касаться здесь каких-то сложных с экономической точки зрения идей и тем, таких как: нужно или не нужно НДС и т.п. Взамен же попробую обратиться к столь общим вопросам, как: простота, эффективность, сбаллансированность и справедливость,— которых "немного" не хватает в текущей системе. Отсюда, как по мне, и растут ноги у всех проблем.<br /><br />Итак, первое, единый налог и проблемы, связанные с его использованием для "оптимизации" налогообложения.<br /><br />Очевидно, что без упрощенной системы налогообложения весь бизнес в Украине вообще загнется или полностью уйдет в тень.<br /><br />Далее, не так очевидно, но легко понять, что в текущем виде упрощенная система — это проблема не только для государства (уход от налогов), но и для других форм бизнеса, а также... для самих предпринимателей.<br /><br />В чем проблема для других форм. Простой пример: есть человек, который выполняет какую-то профессиональную деятельность, например, моет окна. Он может делать это в рамках компании и получать зарплату 4000 грн в месяц, при этом налоговое бремя, которое ложиться на такую компанию — еще 2400 грн, а сам человек на руки получает 3400 грн (а 15% платит налога на доход). Если он моет 20 окон в месяц, то за каждое окно компания должна брать с заказчика 320 грн (+ НДС :), чтобы хотя бы выйти в 0 (будем считать, что больше расходов нет). Теперь представим, что тот же человек моет окна как частный предприниматель: теперь, чтобы получить свои 3400 грн, ему нужно выручить всего то 3600, т.е. при цене 320 грн за окно, помыть около 11 с хвостиком окон. А если он помоет 20, то заработает 7800, что ровно в 2 раза больше. Спрашивается, как компания сможет конкурировать с таким фрилансером? Отсюда и зарплаты в конвертах, и "оптимизация" через СПД. Т.е. виновато не только высокое налоговое бремя (хотя это виновник №1), но и несбаллансированная налоговая система (хотя это все-таки только №2).<br /><br />Второй момент: допустим человек моет окна самостоятельно, но не регистрируется как СПД, а платит обычный налог на доход (15%). Хотя такая ситуация немного противоречит закону, однако, по сути, это те условия, в которых находятся все наемные работники, если вообще не принимать в рассмотрение компании. Т.е. наемные работники тоже проигрывают СПДшникам на эти 15%.<br /><br />Теперь рассмотрим вопрос пенсий. СПД-шник платит в пенсионный фонд 84 грн. В то же время любой наемный работник платит 33,2% своей зарплаты, что составляет минимум 300 грн. В результате оба будут получать одинаковую социальную пенсию. Но даже, если человек будет иметь сногсшибательную зарплату и платить огромные отчисления в ПФ, никто не гарантирует, что через 30 лет он будет получать какую-то громадную пенсию, как и сейчас не получают большой пенсии советские герои труда, проработавшие по 50 лет на каких-то вредных производствах и т.д. Потому что государство у нас такое, ответсвенное. Зато из этих отчислений будет платиться огромная пенсия сегодня депутатам, секретным агентам и академикам. Это, ясное дело, абсолютно не справедливо и неэффективно. Как эффективнее — ниже.<br /><br /><blockquote>Итак, существование СПД-формы — это громадная несправедливость по отношению к: 1. компаниям, 2. простым работникам 3. будущим пенсионерам.<br />С другой стороны, проблема не столько в ней, сколько в гигантском налоговом бремени на компании, точнее собственников (почти 60% начисления на зарплату наемных рабочих + 25% налог на дивиденды, который, фактически, является двойным налогообложением). Это бремя приводит к тому, что блокируется рост зарплат и происходит тенезация экономики. А в пенсионном фонде все равно дырка, которая покрывается из бюджета.</blockquote><br /><br />Предложения по решению проблемы исходят из простейших идей:<br />1. СПД — это самозанятый профессионал, который делает работу самостоятельно.<br />2. Пенсии должны быть справедливыми (во всех отношениях :)<br /><br />Соответственно:<br /><br />1. СПД форма должна существовать и еще более упроститься.<br />- Во-первых, в области видов деятельности. Зачем искусственно ограничивать людей: есть специалисты широкого профиля, почему не дать им заниматься теми разными занятиями, которые им по душе? Т.е. КВЕД можно оставить только для статистики, но ни в коем случае не делать его ограничением, как сейчас.<br />- Во-вторых, уплата налога должна быть не такой частой (хотя бы раз в квартал), особенно в связи с п.2<br />- В-третьих, нужно убрать верхнее ограничение на размер выручки (если специалист мирового класса зарабатывает миллионы, он что, перестает быть предпринимателем?), но в то же время СПД не должен использовать наемный труд. Вообще. Если нужны помощники, пускай тоже оформляются как СПД и работают по подрядному принципу. Если у вас есть сотрудники, то это уже компания. Просто, у нас создание компании является нереально сложным делом.<br /><br />2. Ставка налога на СПД должна быть приравнена к налогу на доход физлиц. Это, во-первых, справедливо по отношению к наемным работникам, во-вторых, выгодно для государства. Ну и, в-третьих, не вызовет принципиальных возражений у любого предпринимателя, который понимает, что налоги платить надо, но они должны быть подъемными. В то же время это будет справедливо к тем, кто по каким-то причинам не работает на данный момент как предприниматель: нет прибыли — нет налога. Вообще, предприниматель, который временно (от 1 квартала) сидит без работы, также должен иметь право стать на биржу труда, как и обычный уволенный сотрудник и какое-то время получать социальное пособие. О соцопсобии — ниже.<br /><br />3. Сферу соцфондов можно радикально упростить и, при этом, сохранить существующие пенсии (потерять которые так боятся чиновники). Все трубят о втором уровне пенсионной системы, но никто не пытается доходчиво объяснить, что это такое. На самом деле все должно выглядеть очень просто: должна быть единая, не зависящая от зарплаты, социальная пенсия, которая выплачивается всем нетрудоспособным людям из ПФ, а также социальная помощь по безработице от государственной страховой компании. Обе эти величины должны равняться прожиточному минимуму. Помощь от несчастных случаев тоже должна быть стандартизована и зависить только от категории (тяжести) травмы, а не от зарплаты. Таким образом, имея статистику по количеству работающих, пенсионеров, безработных и несчастных случаев, можно рассчитать необходимую величину единого социального взноса с каждого работающего (не зависимо от того, сотрудника компании, или СПД, или даже рантье) на бюджетный год для выхода на нужные цифры компенсаций для неработающих. (Т.е. для СПД помимо налога на доход добавляется единый социальный взнос, меняющийся из года в год. Такой взнос нужно будет платить раз в месяц или же наперед).<br /><br />А как быть с пенсией, которая выше социальной и т.п.? Для этого и существует второй уровень пенсионной системы, как и второй уровень страховой системы. Он состоит из <b>добровольных</b> отчислений работающих сверх обязательного социального взноса. Естественно, такие добровольные отчисления могут делаться как в государственный ПФ и СК, так и в негосударственные по выбору страхователя. И они должны быть персонализированны. Впрочем, такие отчисления могут делать за сотрудников и компании (опять же добровольно), и иметь в связи с этим какие-то налоговые льготы и т.п. (это уже вопрос экономических моделей). Также, например, государство может делать такие отчисления для всего госаппарата, чтобы сохранять существующую сейчас систему высоких пенсий чиновникам — это будет его конкурентным преимуществом на рынке труда :)<br /><br />А как покрывать дефицит ПФ для выплаты текущих обязательств государства сверх социальной пенсии (средства на которую, напомню, собираются через единый социальный взнос): пенсий, которые уже начисленны пенсионерам, которые, разумеется, не могут делать никаких отчислений? На самом деле, также как и сейчас — из госбюджета и это будут очень большие деньги :) Но хорошая новость в том, что с введением такой пенсионной системы обязательства бюджета будут с каждым годом уменьшаться, как и список тех пенсионеров, которые будут получать пенсию старого образца. Остается вопрос, как быть с теми, кому 54, 58, 50? Для них (как и для всех остальных работающих) можно ввести прогрессивную шкалу пенсии, которую уже должно государство: разделить количество роработанных лет на полный стаж до пенсии и получить процент от той пенсии, на которую человек мог рассчитывать по старой системе. Т.е. для человека, которому остался работать год, а он проработал 24, это будет 96%, а для того, кто проработал 2, а еще впереди 32 это будет 4%. Это обязательство государства, как и перед текущими пенсионерами. Остальную сумму можно будет набирать за счет добровольных взносов.<br /><br />Таким образом, на мой взгляд, пенсионная система станет не только справедливой, но и подъемной для бизнеса (точнее, бизнес вообще будет устранен от субсидирования ПФ), и, в то же время, можно будет сохранить статус кво для современных пенсионеров. А то, что все это будет субсидироваться из бюджета — так, во-первых, оно и сейчас так происходит, а, во-вторых, это, на мой взгляд, оправданная общесоциальная жертва за радикальное улучшение социально-экономической ситуации в стране. И все остальные налоговые проблемы — это, просто, детский лепет по сравнению с этой....<br /><br />4. Наконец, последнее: нужно радикально упростить создание и, что немаловажно, ликвидацию компаний (ООО). Во-первых, администрирование этих процессов: тут можно очень долго говорить. Во-вторых, снизить ограничение по нижнему размеру уставного фонда (неподъемное для многих бизнесов вначале деятельности). Можно говорить, что есть всякие командитные общества, но это же не полноценная бизнес-форма...Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com0tag:blogger.com,1999:blog-6031647961506005424.post-1894747754327967262010-03-27T12:31:00.002+02:002010-03-27T12:34:47.392+02:00Пару мыслей об SCTestКак по мне, ценность этого мероприятия даже не в том, что люди могут получить фидбек по своим проектам или потренировать презентации (это можно сделать и другим путем, подчас более эффективным), а в том, что оно создает определенную "школу" стартапов, т.е. происходит передача знаний, опыта, информации от старших коллег, чего-то добившихся, состоявшихся личностей и предпринимателей. На каждом мероприятии приходит кто-то интересный с собственным подходом и взглядом на вещи. Как и в любой школе, тут есть свои гуру, чьи слова постоянно цитируют и в которых находят ответы на все вопросы. В нашем случае это, конечно, Стив Бленк.<br /><br />В этот раз панель была очень показательна, поскольку на ней присутствовали представители 3-х основных категорий участников test'а:<br />- состоявшийся, как правило, без сторонней помощи (венчурных инвесторов), а благодаря личным качествам и работе, предприниматель. Как раз пример того, у кого есть чему поучиться;<br />- tru стартапер, т.е. человек, хорошо изучивший стартап-"технологии", как правильно надувать пузырики, что нужно говорить инвесторам и т.п. (Эти качества, по моему мнению, на самом деле независимы от настоящих бизнес-качеств, которые присущи первой категории людей, так что "настоящий стартапер" может как ими обладать, так и не обладать);<br />- startup kiddie (по аналогии со <a href="http://en.wikipedia.org/wiki/Script_kiddie">script kiddie</a>), т.е. молодой человек, увлеченный хайпом стартап-движения, и порой считающий, что сможет в этой игре переиграть "старших товарищей" (упреждиск: если относить меня к какой-то из этих категорий, то разве что к этой).<br /><br />Интересна реакция на выступление представителя M$ — как раз синдром startup-kiddies, которые всё знают и всё могут. Я не говорю о том, что у большинства из пристуствующих на компьютере стоит ворованная копия той самой Windows (упреждиск: пишу это на Linux). Дело в другом: выступал отличный профессионал, с местами интересным докладом, содержащим много полезной информации (конечно, не без корпоративщины и прямой рекламы, а также самолюбования: оказывается, Vista была провалом, потому что Intel с чипсетами подкачал :) А реакция была не поискать интересное, а поерничать, когда же он будет кричать "Developers, developers...", и поприкалываться, что человек не умеет пользоваться PowerPoint'ом (что в данном случае было банальной глупостью). Элементарной культуры и самоуважения не хватает...Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com7tag:blogger.com,1999:blog-6031647961506005424.post-24667621854767531432009-06-12T14:22:00.001+03:002009-06-12T14:24:26.378+03:00О микроплатежах<b>Написано для:</b> <a href="http://blog.liga.net/user/vdyomkin/article/2733.aspx">Лига.Блоги</a><br /><br />В своем <a href="http://blog.liga.net/user/vdyomkin/article/2727.aspx">предыдущем комментарии</a> я затронул тему того, что до сих пор ни в Украине, ни в мире не появился удобный и получивший широкое распространение сервис микроплатежей. Вообще, под микроплатежами можно понимать разные вещи. Я имею в виду платежи, которые незначительны настолько, что человеку проще перелатить даже до 10-20% от их суммы, зато произвести их быстро и без лишних забот. Понятно, что для каждого это разные суммы, но в среднем это платежи, комиссия по которым не превышает пары десятков гривен (для нашей страны в данное время). В общем, современная экономика говорит, что главная проблема — это транзакционные издержки и их нужно стараться минимизировать. Эти издержки складываются из финансовых, временных, а также усилий и рисков. Микроплатежи находятся в той части спектра экономической активности, где увеличение финансовых издержек наименее нежелательное из перечисленных пунктов.<br /><br />Еще раз, зачем нужны микроплатежи?<br /><br /> * Для оплаты товара в Интернет-магазинах. Иногда да, хотя в данном случае, поскольку имеет место акт передачи товара из рук в руки, можно применять оплату наличными (как, собственно, у нас в основном и делаеют). К сожалению, как в анекдоте, что заказывать товары при коммунизме можно будет по телефону, а получать по телевизору — у нас пока не получается. Микроплатежи отлично могли бы применяться при доставке товаров по почте, но таких товаров у нас, традиционно, не много.<br /> * Для переводов небольших сумм между людьми. Однозначно, это намного проще, чем банковские или мгновенные переводы. И они в этой сфере уже применяются, но пока по-серому.<br /> * Для оплаты различных услуг: коммунальных, виртуальных и некоторых реальных. Это основное применение для микроплатежей. На самом деле, как раз отсутствие такой полноценной возможности тормозит развитие очень большого числа мелких услуг (в первую очередь виртуальных).<br /><br />На мой взгляд, единственный путь появления полноценных микроплатежей — через операторов мобильной связи. По сути дела, сейчас они предоставляют такую возможность, но только в ограниченной форме: пополнение счета другого человка (*125*...) И этой возможностью некоторые уже сейчас пользуются даже для организации оплаты мелих услуг. Это типичные мироплатежи, в которых комиссия составляет до 25% (и не смотря на такой высокий процент, люди пользуеются этой услугой).<br />В чем ограниченность? Главное, нельзя использовать переведенные деньги для оплаты чего-то иного, кроме услуг самого оператора и его афиллированных компаний, нельзя, что называется, "вывести деньги из системы". Второй, менее значительный недостаток: сейчас суммы платежей должны быть кратны 10 (а ведь нет никаких проблем снизить кратность до 1).<br /><br />Осталось сделать последний шаг: упразднивший эти недостатки. И тогда каждый человек с мобильным телефоном сможет без помощи банков переводить деньги другому. Каждый предприниматель получит удобный и надежный способ получать оплату за свои услуги. Оператор, сделавший такой шаг первым, сможет переманить к себе большое количество абонентов, это не говоря о комиссионных доходах, которые он будет получать от работы этой системы.<br /><br />Так почему же этого не делается? Загвоздки:<br /><br /> * Юридические. При этом оператор становится банком? Не совсем. Всего лишь расчетной системой. Скорее всего подобная деятельность требует лицензирования и согласования. Однако операторам и так приходится заниматься подобными вещами постоянно. Использование системы для ухода от налогов? Во-первых, не больше, чем при расчете наличными :) Во-вторых, есть пути мимимизации этого: например, обязательная регистрация для мерчантов (тех, кто хочет использовать систему для получения оплаты за товары или услуги). А так ведь, всё прозрачно — наоборот удобно для налоговой.<br /> * Издержки при вводе денег в систему: условно говоря, человек покупает карточку предоплаты на 30 гривен, выпуск и распространение которой стоит 1 грн. Эта гривна — это 3%, которые не сможет компенсировать комиссия за вывод денег из системы (которая тут должна быть не больше тех же 2-3%). Но ее можно компенсировать введя комиссию на каждый платеж: ту же гривну или даже 50 копеек.<br /> * Мошенничество. Для микроплатежей этот вопрос стоит на последнем месте. Ведь никого не смущают возможности мошенничества при пополнении чужого мобильного счета: такая функция намного полезнее, так ведь?<br /> * Организационные. Безусловно, построение подобной системы — это серьезный проект. Однако, он менее серьезен, чем построение самой сети оператора, с чем они успешно справляется.<br /><br />В общем, как по мне, неразрешимых проблем здесь нет: все упирается лишь в наличие видения и желания у руководства любого из общенациональных мобильных операторов. Микроплатежи — это естественная смежная область, развитие бизнеса в которую для мобильных телекомов дало бы толчек и их развитию в целом, и было бы несомненно полезно для общества.<br /><br />А в перспективе подобная система может стать вообще глобальной и составить конкуренцию таким фирмам как Visa и MasterCard.Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com1tag:blogger.com,1999:blog-6031647961506005424.post-60495581398900891082009-05-27T14:04:00.001+03:002009-05-27T14:05:48.657+03:00Идеи по поводу tedxkyiv@tagline<br />У оригинального TED обычно есть какие-то большие темы (по 3-4 на конференцию), например: "зеленое будущее", "переосмысление бедности", "сознание" и т.д. Наверно, было бы неплохо, чтобы и у TEDx тоже была какая-то объединяющая тема. И посколько в последнее время Украина как-то не дает таланты, являющиеся глобальными лидерами мысли (у нас сейчас хорошо получаются только футболисты и боксеры), то и тему можно выбрать только локальую, украинскую. Мне сразу приходит на ум "Как нам модернизировать Украину?"<br /><br />@speakers<br />Ну и, в соотвествии с темой должны подбираться докладчики. Я так понимаю, что формула TED: известная личность + видение. В этом плане у нас тоже не густо: во всяком случае трудно выделить среди известных политиков, бизнесменов, ученых или гиков тех, у кого действительно есть видение, которое бы было шире их личных интересов и касалось хотя бы всей Украины, не говоря уже о мире в целом.<br /><br />Единственный хороший пример, который мне приходит на ум -- это Татьяна Монтян. Она известный человек с вполне конкретными достижениями (была адвокатом в нескольких резонансных делах, создала блог "Инфопорн", признанный лучшим коллективным блогом Украины на BlogCampCEE'08), и у нее есть видение: от коррупции нас спасет введение всеобщих открытых реестров недвижимого имущества и переход к титульной системе учета прав на него.<br /><br />Другие известные люди, теоретически могущие иметь видение, которые приходят на ум:<br />* Вячеслав Брюховецкий, бывший ректор Киево-могилянской академии<br />* Михаил Згуровский, ректор КПИ<br />* Михайло Свистович (создатель сайта maidan.org.ua и один из инициаторов Гражданской кампании "Пора") и его жена Мирослава, бывшая мером Ирпеня<br />* из бизнесменов можно упомянуть разве что Романа Хмиля, директора компании "GlobalLogic"<br /><br />Наверное, есть смысл устроить брейншторм на тему докладчиков, потому что кандидатур (во всяком случае, на первый взгляд) совсем не много.<br /><br />Также в рамках этой темы можно было бы пригласить выступить кого-то из украинцев, добившихся выдающихся результатов за рубежом, чтобы он мог рассказать о видении нашей страны оттуда. Очень кстати также было бы выступление кого-то из иностранцев, работающих у нас. Например, на ум приходит Нико Ланге, директор фонда Конрада Аденауэра в Украине, запомнившийся своими откровенными статьями в Украинской Правде.Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com0tag:blogger.com,1999:blog-6031647961506005424.post-59878229611940461502009-05-25T12:42:00.002+03:002009-05-25T12:46:20.199+03:00Мыслекарты для планирования трат<b>Написано для</b>: <a href="http://habrahabr.ru/blogs/ui_design_and_usability/60388/">habrahabr.ru</a><br /><br />Инструмент <a href="http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D1%82%D1%8B_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8">Mind Map</a> довольно нов: настолько, что у него нет даже устоявшегося русского названия. Обычно его называют интеллект-картами, картами памяти, сознания или мозга, и даже ментальными картами. Как по мне, довольно громоздкие и не удобные имена, в которых, что самое главное, не четко передается суть понятия (мне в них слышатся какие-то анатомические оттенки: вот тут левое полушарие, тут правое, а тут мозжечок… :) А ведь это, если максимально упростить, картинки, изображащие понятия и логические связи между ними. Можно было бы сказать карты понятий, но тоже звучит громоздко, а вот карты мыслей — проще. Ну и, следуя по традиции словообразования в русском языке: мыслекарты![1]<br /><br />Мыслекарты помогают лучше осознать какие-то сложные и/или состоящие из многих компонентов системы за счет подключения визуального канала восприятия и, соответственно, образного мышления. Говорят, что в среднем человек может удерживать в оперативной памяти лишь 7 отдельных объектов. Но это в том случае, если эти объекты слабо связаны в сознании друг с другом. А вот, если добавить ассоциации, то потенциальные возможности работы с ними в уме и запоминания неимоверно расширяются. В книге <a href="http://www.pianofundamentals.com/">"Основы практики на пианино"</a> утверждается, что именно на этом построены методы людей, практикующих фотографическую память...<br /><br />Но я отвлекся. При чем мыслекарты к личным финансам? Не считая, конечно, того, что оба эти явления как-то касаются темы личного развития :), связь нам подсказал один из пользователей нашего сервиса по учету финансов[2]. А что если применить эти карты к планированию трат на ближайшее будущее? Например, можно задумать траты, которые могут потенциально выйти за рамки семейного бюджета, но чтобы это понять, нужно посидеть с карандашом и блокнотом и прикинуть свои будущие расходы и доходы, добавить ингридиенты сбережений и незапланированных трат, и щепотку везения, а на выходе получить прогноз, удастся ли осуществить запланированное. В общем-то, в этом может неплохо помочь учетная система: ведь в ней есть уже почти вся нужная информация. Другой вопрос, что ее нужно показать так, чтобы человек не утонул в этом океане цифр. Вот тут на помощь и приходит наглядность и простота мыслекарт. Но, как говорится, «лучше один раз увидеть, чем сто раз услышать», поэтому попробую показать, что имеется в виду.<br /><br />Вот так выглядел оригинальный набросок, присланный мне:<br /><img src="http://img.photobucket.com/albums/v473/pufpuf/mind-map-sketch.jpg" alt="набросок мыслекарты"/><br /><br />А вот такой вышла наша первая реализация:<br /><img src="http://img.photobucket.com/albums/v473/pufpuf/mindmap.png" alt="мыслекарта"/><br /><br />Попробую кратко описать ее работу. Сейчас можно планировать во временных горизонтах месяца, квартала и года. Для пользователя за предыдущий период, заканчивающийся сегодняшним днем, подсчитываются его траты и доходы. Эти суммы и есть прогноз на период планирования. На основании этого прогноза, а также баланса на текущий момент считается прогноз баланса в конце срока, а разница между планируемым доходом и тратами — это накопленный/потраченный остаток конкретно за период. Поскольку наши карты служат прежде всего для планирования трат[3], то траты разбиваются по нескольким самым большим категорям. Человек может прикинуть, по каким из них что-то изменится (например, можно сэкономить) и внести эти изменения прямо на карту. Какие-то категории можно вообще убрать. (Кроме того, можно перейти по ссылке и посмотреть на все траты по каждой категории). Естественно, все изменения мгновенно отражаются на суммах расхода, остатка и баланса. Также можно поменять и ожидаемый доход. Человек может добавить на карту свои планы и сразу увидеть, насколько остатка денег за период хватит, чтобы покрыть каждый из них в отдельности, а также их общую сумму. Наконец, определившись с какими-то из планов, их можно «добавить в корзину» (подтвердить). И только тогда они внесут свою лепту в сумму расходов за период. Собственно, это пока и все.<br /><br />Стоит отметить, что в данном случае у нас получается не совсем классическая мыслекарта: пока что мы не реализовали показа по желанию пользователя подкатегорий, хотя это, наверно, и не принципиально. Кажется, в этой информации нет большой ценности, а вот сделать карту перегруженной она вполне способна.<br /><br />Что касается технической стороны, то это тема для статьи в другом блоге. Замечу лишь, что карта полностью реализована на языке Javascript, подручным материалом выступала незаменимая библиотека jQuery (беру <a href="http://twitter.com/vseloved/status/1024324890">свои слова</a> назад: это не костыль :). Конечно, большим недостатком использования исключительно DOM является отсутствие возможности изображать произвольные объекты: наверно, еще пару лет придется пользоваться различными хаками, пока не станет повсеместно распространенным тег CANVAS. В данном случае, например, вместо рисования линий показываются масштабируемые готовые картинки. Это позволяет добиться сравнительно небольшой нагрузки на браузер, однако иногда приводит к мини подвисаниям (в момент переключения между картинками).<br /><br />В общем, не знаю, конечно, станет ли эта функция действительно полезным инструментом для управления своим бюджетом или же останется лишь красивой игрушкой. Надеюсь увидеть примеры первого. Для меня она стала интересным экспериментом в визуализации финансовой информации. Возможно, этот метод применим и в других финансовых сферах, например, в системах управленческой отчетности предприятия или программах для биржевых трейдеров. А что вы думаете?<br /><br /><br />[0] <a href="http://community.livejournal.com/mindmaps/">Сообщество LiveJournal по теме мыслекарт</a><br />[1] А еще, выражаясь научным языком, наверно, их можно отнести к семантическим сетям<br />[2] Приятно, что в этом отношении сбывается то, о чем я написал в <a href="http://habrahabr.ru/blogs/startup/47250/">анонсе fin-ack.com</a>: многие интересные идеи приходят от пользователей<br />[3] Впрочем, ничто не мешает использовать их для планирования доходов или еще чего-тоVsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com1tag:blogger.com,1999:blog-6031647961506005424.post-48829244913836004282009-04-11T17:42:00.004+03:002009-04-11T18:22:39.769+03:0042Кстати, об основополагающем вопросе... Это число, наверно, следующее по количеству упоминаний после фразы "Hello world" и foo-bar-baz в различных тюториалах по программированию. Когда-то я перевел отрывок из книги, в котором рассказывается о его истории, на русский. <a href="http://pufpuf.livejournal.com/12323.html">Вот от</a>.<br />В целом, Дугласа Адамса, наверно, стоит почитать каждому -- в нем столько злободневного и в то же время вечного...Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com1tag:blogger.com,1999:blog-6031647961506005424.post-58954840440991071502009-03-10T14:17:00.001+02:002009-03-10T14:20:54.853+02:00О самоподписных сертификатахНаписано для: <a href="http://habrahabr.ru/blogs/infosecurity/54018/">habrahabr.ru</a><br /><br />В связи с моим участием в проекте <a href="http://fin-ack.com">fin-ack.com</a> постоянно сталкиваюсь с подобными замечаниями: <blockquote>я не доверяю вашому самоподписному сертификату, почему вы не купите «нормальный» сертификат?</blockquote><br />Как по мне, это один из случаев недопонимания и предрассудков, которых так много в отношении безопасности в Интернете. (Вроде знаменитых <a href="http://lurkmore.ru/%D0%A5%D0%B0%D0%BA%D0%B5%D1%80%D1%8B,_%D0%BA%D1%80%D0%B5%D0%BA%D0%B5%D1%80%D1%8B,_%D1%81%D0%BF%D0%B0%D0%BC%D1%8B,_%D0%BA%D1%83%D0%BA%D0%B8">"Хакеров, крекеров, спамов, куки"</a> :). Хочу разобрать его с двух точек зрения: как человека, некоторое время проработавшего в сфере защиты информации в банке и имевшего дело с большинством аспектов информационной безопасности, и как человека, занимающегося разработкой и развитием интернет-сервиса.<br /><br />Но сперва отвечу на вопрос, почему у нас нет "нормального" сертификата? (На самом деле, с недавнего времени есть :) Самая главная причина в том, что в нашем списке приоритетов этот пункт стоял на N-ном месте, и только сейчас все N-1 предыдущих пунктов были выполнены. Когда работаешь над новым проектом, всегда приходится от чего-то отказываться, потому что ресурсы, прежде всего временные, ограничены...<br /><br /><em>А почему же он стоял аж на N-ном месте?</em><br />Во-первых, зачем вообще нужен сертификат SSL? Для того, чтобы зашифровать HTTP-соединение между браузером и сайтом, по которому будет передаваться пароль и какие-то другие конфиденциальные данные. Что изменится, если сертификат не подписан доверенным центром сертификации? Ничего! Соединение все равно будет зашифрованно точно также. Единственная возможная проблема: атака человек-посредине, которая в Интернете обычно является <a href="http://en.wikipedia.org/wiki/Phishing">phishing'ом</a> или <a href="http://en.wikipedia.org/wiki/Pharming">pharming'ом</a>.<br /><ul><li>При фишинге пользователя перенаправляют на сайт с похожим URL. При этом в браузере обязательно появится предупреждение про сертификат (такое же предупреждение появляется и при первом заходе на реальный сайт с самоподписным сертификатом).<br /><img src="http://img.photobucket.com/albums/v473/pufpuf/Screenshot.png"><br />В общем-то, в этой ситуации достаточно просто посмотреть к какому домену относится сертификат, и если это именно тот домен, на который вы хотели попасть, добавить сертификат в доверенные. После этого любое сообщение о недоверенном сертификате для данного сайта можно воспринимать как тревожный звоночек.</li><br /><li>Отличие фарминга в том, что в данном случае пользователь попадет как-бы на тот сайт, на который хотел (судя по URL). Впрочем, ему также как и при фишинге будет показано сообщение о недоверенном сертификате.</li></ul><br />Но многие вкладывают в сертификат SSL больший смысл:<br /><blockquote>...Если же сертификат выдан каким-нибудь Verisign-ом (для примера), то это некая "гарантия" что за этим сайтом стоит настоящая организация/частное лицо и уж как минимум "есть с кого спросить в случае чего". Т.е. вообще это как гарантия "серьезности" намерений владельцев сайта.</blockquote><br />Мы прекрасно понимаем, что такое мнение имеет право на жизнь. Но ведь все не так просто. Ничто не мешает купить сертификат у Verisign или другого вендора на липовую контору или подставные личные данные. Они не могут проверить наличие у клиента юридических оснований выдавать себя за условные ООО "Рога и копыта" из г.Пермь, Россйская Федерация. Единственное, что проверяется при выпуске сертификата — это то, принадлежит ли вам домен, для которого вы его запрашиваете.<br />Так что, как по мне, покупка сертфиката у Verisign'а — это всего-навсего демонстрация того, что компания готова выбросить 500$ и несколько человеко-часов, а то и больше на утрясение всех организационных вопросов, вместо того, чтобы потратить это время и деньги на разработку новых возможностей или же реальное улучшение безопасности системы. Вообще, Verisign — это для банков. Есть другие вендоры, с которыми проще и дешевле (пример — ниже). <br /><br /><em>Но, самое главное, другое.</em> Любая компьютерная система уязвима настолько, насколько уязвимо ее наименее защищенное звено. Хороший подход к безопасности — это всегда комплекс мер, в котором нужно учесть все риски и уделить каждому должное внимание. Попробую перечислить основные риски безопасноти пользовательских данных для стандартного Интернет-проекта, имеющего дело с личной информацией (веб-почта, личная бухгалтерия и пр.) в порядке их важности:<br /><ol><li>Не достаточно продуманная система доступа к конфиденциальным данным, которая имеет дыры</li><br /><li>Проблемы в работе ПО, которое используется системой (ОС, веб-сервер, реализация протоколов шифрования), позволяющие осуществить взлом</li><br /><li>Атаки типа человек-посредине, социальная инженерия</li></ol> <br />Фишинг/фарминг (человек-посредине), по моему мнению, один из наименее важных рисков, поскольку его намного труднее осуществить, его быстро перекроют и, поэтому, такая атака имеет смысл только для систем с очень большим количеством пользователей, из которых можно быстро выудить очень ценные данные (классический пример: интернет-банкинг). По сравнению с этим намного проще запустить сканер уязвимостей и обнаружить, что в системе используется <a href="http://jblevins.org/log/linux/ssh-vulnkey">старая версия OpenSSH</a> или на Windows не установлена какая-то заплатка (к нам каждый день стучатся тысячи таких тестировщиков :). Или обнаружить какую-то <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a> или <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL-injection</a> уязвимость. Это не говоря о более <a href="http://seclists.org/fulldisclosure/2009/Mar/0029.html">сложных</a> проблемах создания безопасных Интернет-систем, таких как, например, <a href="http://en.wikipedia.org/wiki/HTTP_cookie#Drawbacks_of_cookies">корректное использование сессий (и куки)</a> для аутентификации. Именно этому нужно уделять внимание в первую очередь!<br /><br />Еще один аспект безопасности, связанный с сертификатами. Будь он самоподписным или выданным Verisign'ом, все равно с ним ассоциирован секретный ключ, который нужно где-то хранить. Более того, он постоянно используется веб-сервером при открытии HTTPS-соединений, т.е. его нельзя применить один раз при включнии питания, сохранить на флешку и спрятать в сейф. Что будет, если кто-то завладеет ключом? (программист, который имел доступ к серверу, взломщик или еще кто-то). В идеале, этот ключ зашифрован, но при желании и наличии ресурсов его можно расшифровать (и сейчас это дешевле, чем организовать фишинг-атаку). А ведь мы не учли, что некоторые веб-сервера или реверс-прокси вообще не умеют работать с зашифрованными ключами. А еще ведь пароль может быть захардкожен где-то в тексте программы или скрипта, который ее запускает... Так что то, что на каком-то сайте красуется бирочка, что его SSL сертификат подписан Verisign, не дает никакой гарантии, что в один прекрасный день не появится фарминг-аналог, использующий тот же сертификат с украденным секретным ключом.<br /><br />Тут я даже не вспоминаю о таких аспектах, связанных с системой PKI, как особенности ее поддержки на разных специфических платформах, таких как j2me...<br /><br />Резюме: есть вещи, которые, в целом, правильные, но не всегда стоят затраченных усилий. Концентрация стартапов должна быть на другом, а мелочи, подобные "правильным" сертификатам должны идти вторым эшелоном. Сначала, как говорят американцы, нужно "get the product right". Всему свое время.<br /><br />P.S. Собственно говоря, я понимаю, что чем пытатся изменить общественное мнение, проще под него подстроится, поэтому у нас уже есть "правильный" сертификат (время подошло). Кстати говоря, который стоит в 10 раз дешевле, чем большинство (спасибо GoDaddy!). Цель данной статьи в первую очередь в том, чтобы еще раз коснуться неисчерпаемой темы информационной безопасности в Интернете и постараться правильно расставить акценты в одном из ее аспектов.Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com0tag:blogger.com,1999:blog-6031647961506005424.post-28128572602444487192008-12-25T10:44:00.001+02:002008-12-25T10:49:12.096+02:00Технология надежной и удобной аутентификация для web<span id="for-and-date"><strong>Написано для:</strong> <a href="http://vseloved.habrahabr.ru/blog/18305/">habrahabr.ru</a><br /><strong>Время написания:</strong> январь 2008</span><br /><br />...<br />На данный момент все способы аутентификации, применяемые в веб-приложениях, либо недостаточно безопасны, либо слишком неудобны в использовании. Именно из-за этого все еще не появилась глобальная система микроплатежей через интернет.<br /><br />В чем именно неэффективность каждого из существующих способов?<br /><ul><li>Простой пароль: удобно, но есть несколько угроз, и самая главная даже не столько несанкционированное ознакомление с ним, сколько то, что примерно одна и та же комбинация логин/пароль может быть использована для множества разнообразных сервисов, часть из которых может быть недостаточно защищена.<br /><li>Одноразовые пароли: безопасно и относительно удобно (но, все-таки, добавляется лишнее устройство), но довольно дорого.<br /><li>Сертификаты цифровой подписи: безопасно, но очень неудобно (проблемы с кросс-платформенной поддержкой токенов), а также дорого.<br /><li>Использование второго канала связи для подтверждения (обычно, мобильного телефона): относительно безопасно, относительно удобно, относительно масштабируемо (пока...).<br /><li>OpenID: безопасно, но на данный момент труднодоступно из-за того, что у 99% людей нет доверенного веб-сервера.<br /></ul><br /><br />Однако, сейчас уже можно замахнуться на глобальную систему аутентификации, если использовать сочетание ставших уже реальностью 3 феноменов:<br /><ul><li>IPv6;<br /><li>OpenID;<br /><li>стабильное интернет подключение с мобильного телефона/коммуникатора.<br /></ul><br /><strong>Вот она:</strong><br />Каждый мобильный телефон, находясь в сети провайдера, будет постоянно подключен к интернету и иметь статический IPv6 адрес, а также DNS вида <номер телефона>.<домен оператора>. В каждом телефоне будет встроен сервис OpenID.<br />Таким образом, человеку нужно будет лишь каждое утро логиниться на свой телефон для того, чтобы иметь возможность автоматически аутентифицироваться на любом сайте. В такой системе, разумеется, появляется уязвимое место — сам телефон, в случае завладения которым, злоумышленники могут выдать себя за его владельца. Но тут, даже на первый взгляд, видится достаточно много способов защиты:<ol start='0'><br /><li>(не говоря о блокировке телефона по звонку оператору);<br /><li>для каких-то чувствительных тракзакций (например, платежей) можно сделать дополнительную авторизацию в виде, например, пароля (вот уже и двухфакторная аутентификация);<br /><li>можно добавить биометрическую аутентификацию или использование дополнительного токена, например, RFID-брелка, который человек может носить на связке ключей, шее или запястье, и который должен находится не дальше, например, 2 м от телефона, чтобы работал OpenID сервис.<br />Думаю, есть и другие разумные способы...</ol><br /><br /><br />В такой системе мобильные операторы могут занять роль мобильных микро-банков, если платежи будут осуществляться прямо с личного счета у оператора, или же провайдеров аутентификационных услуг (уже сейчас появляются первые попытки реализовать этот подход, но с проприетарными системами аутентификации, которые не имеют перспектив масштабирования за рамки отдельных платежных систем).Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com2tag:blogger.com,1999:blog-6031647961506005424.post-66065483982355167492008-08-23T15:00:00.004+03:002008-08-23T21:23:58.832+03:00Shell — секретное оружие Unix :)<span id="for-and-date"><strong>Написано для:</strong> <a href="http://vseloved.habrahabr.ru/blog/19885/">habrahabr.ru</a><br /><strong>Время написания:</strong> февраль 2008</span><br /><br />Как я написал в одном комментарии:<br /><blockquote>если не хотите знать про коммандную строку, то в линуксе вам делать нечего. Будет вам та же винда, только вместо одних проблем получите другие...<br />--comment605950</blockquote><br /><br />С другой стороны, как раз в shell заключается одно из кардинальных отличий Unix-систем, то, что делает эти системы открытыми...<br /><br />В чем же основные особенности Unix shell, которых нет в Windows?<br /><ol><li>Весь процесс конфигурации и администрирования Unix построен на работе с текстовыми файлами. Shell — это полноценный язык программирования, заточенный для манипуляции строками и работы с тектсовыми файлами. К тому же, именно как расширение возможностей shell по обработке строк и возник Великий язык PERL!.<br /><li>Благодаря п.1 shell — это отличный инструмент для постепенного изучения самой операционной системы.<br /><li>Наличие shell способствует реализации важного принципа создания любых программ:<br /><blockquote>Если это простая программа, которая предназначена для выполнения ограниченного числа операций, ее нужно реализовывать как набор команд, родных для платформы, на которой она работает (как правило, платформой является ОС). Если же имеем дело со сложной интерактивной программой с потенциально неограниченным набором операций — ее нужно реализовывать как язык опять же на родном для платформы носителе (сейчас наиболее родным и удобным носителем при взаимодействии с компьютерами все же является текст, а не звук, графика или что-либо еще).<br />Примерами 1-го и 2-го подхода могу служить tcpdump, реализованный полностью в текстовом режиме, над котором не представляет труда надстроить интерфейс (по сути, Ethereal — и есть подобный интерфейс), и emacs — самый расширяемый текстовый редактор.<br />В этом проявляется основное отличие философии Unix и Windows: в Win интерфейс програм по умолчанию делается на графическом языке, из-за чего программы практически невозможно сопрягать или строить на их основе новые. Потому что для этого нет поддержки на уровне ОС. И для того, чтобы сделать программы расширяемыми, все равно приходится использовать текст (пример — тот же VBA в Word и Excel).</blockquote><br /><li>Автодополнение команд и, что самое главное, путей. Трудно даже представить, сколько времени и сил экономит эта небольшая возможность!<br /><li>Полный набор утилит для всех возможных задач администрирования.</ol><br /><br />Стоит также перечислить утилиты shell, которые обязательно нужно использовать в повседневной работе с системой:<br /><ul><li>man — это справка по ОС, которая включает не только описание работы всех команд, но также и что должно быть в большинстве из конфигурационных файлов, а также много другой полезной информации;<br /><li>less — просмотр текстовых файлов;<br /><li>grep (программистов, не знающих о grep, не берут на работу в Amazon.com :);<br /><li>locate — быстрый поиск файлов.<br /></ul><br />а еще можно вспомнить группы утилит, использование которых намного удобнее и эффективнее их графических аналогов:<br /><ul><li>настройки сети (позаимствованные Windows);<br /><li>управления пакетами;<br /><li>управления пользователями;<br /><li>монтирования томов...<br /></ul><br /><br />Можно только повториться, что для тех, кто не хочет работать в shell, Linux или другая Unix-based ОС — во многом такая же неудобная и непонятная система, как и Windows. Но стоит все-таки попробовать разобраться с shell — хотя бы для того, чтобы посмотреть, как правильно администрируются информационные системы.Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com6tag:blogger.com,1999:blog-6031647961506005424.post-29820032767228291632008-06-24T11:38:00.007+03:002010-07-06T10:14:24.676+03:00ПИФы и экономика украинского фондового рынка<span id="for-and-date"><strong>Написано для:</strong> журнала Эксперт-Украина (не опубликовано)<br /><strong>Время написания:</strong> сентябрь 2007</span><br /><h2>Некоторые аспекты инвестирования, о которых не все задумываются</h2><br />Тема украинского фондового рынка (УФР) интересовала меня давно, но его "участником" я стал только в августе этого года, и смог многие моменты, что называется, на собственном опыте прочувствовать намного лучше, чем в то время, когда был лишь сторонним наблюдателем. В этой стат5ье изложены мои субъективные оценки перспектив "инвестирования" в УФР для частных лиц – граждан Украины.<br /><br />Почему "инвестирования" в кавычках? Среди базовых форм экономической деятельности, которыми являются:<br /><ul><li>создание и/или распределение ценностей (производство, продажа);</li><li>потребление ценностей (покупка);</li><li>посредническая деятельность (эксплуатация транзакционной неэффективности экономики);</li><li>инвестирование (вложение средств/ресурсов для получения большего возврата в будущем)</li></ul>в настоящий момент многие люди рассматривают инвестирование как "серебряную пулю", способную обеспечить достаточный доход относительно легко и в более короткие сроки (по сравнению с обычной работой, которая является, как правило, первой из форм хозяйственной деятельности). Но нужно учитывать, что как и работа клерка отличается от работы директора предприятия, так и в инвестировании разные его формы требуют разных качеств, разных форм вложений (не только денег, но и времени, усилий, умений и пр.) и дают разную отдачу.<br /><br />Фактически к инвестированию сейчас принято относить деятельность двух существенно разных направленностей, определяемых тем, каким образом будет получен возврат от вложений:<br /><ul><li>вложение по принципу "купи подешевле – продай подороже";</li><li>вложение для получения доходов разными порциями в течение долгого промежутка времени<a href="http://www.blogger.com/post-edit.g?blogID=6031647961506005424&postID=2982003276722829163#pif1"><sup>1</sup></a>.</li></ul><br />Разница между инвесторами первого и второго типа в первую очередь во временном горизонте инвестирования. При том, что оба ищут высокие прибыли, первый надеется получить их просто за счет грамотного выбора времени входа на рынок и выхода из него, т.е. он пытается "обыграть" рынок благодаря своим уникальным качествам или доступной ему уникальной информации. Но, если учесть то, что действительно успешным спекулянтам приходиться работать по 14-16 часов в сутки без выходных при всех их способностях, знаниях и опыте, то на ум приходит параллель между инвестором, ожидающим быстро и легко достичь успеха таким путем, с игроком в казино (в наличии те же особенности: вера в собственную удачу/способности, а также уверенность во владении достаточной информацией). Большинство инвесторов-спекулянтов просто идут за волной: кто-то успевает что-то заработать, кто-то — потерять. Но действительно высокие прибыли получают только те, кто эту волну готовил, а также некоторые из лучших профессионалов этого дела, но никак не аматоры...<br /><br />Долгосрочный же инвестор старается найти такие активы, вложив деньги в которые, он сможет, даже никогда не продавая их, получать достаточный доход — только от их деятельности. Поэтому он вкладывает в первую очередь в идеи и в людей, способных их осуществлять, в бизнес-предприятия с системным управлением и долгосрочным видением и людей, способных создавать или управлять такими предприятиями. Долгосрочному инвестору выгодна стабильность и поступательное развитие, потому что, хоть экономика в целом и не может непрерывно расти долгий период, а развивается циклично, отдельные идеи и предприятия могут содержать достаточный потенциал роста даже в долгосрочном плане. А вот краткосрочному инвестору выгодно иное — частые смены периодов недооценки и переоценки активов, на которых можно играть... Таким образом, именно чрезмерное участие спекулятивного капитала создает мыльные пузыри фондовых и других рынков.<br /><br />Подход к инвестиционной деятельности двух типов инвесторов настолько отличается, что даже стили их рабочей жизни кардинально разные. Можно сравнить, например, как описывают свою работу двое из величайших инвесторов всех времен по мнению Investopedia.com: директор ПИФа <a href="http://www.investopedia.com/university/greatest/peterlynch.asp">Питер Линч</a> и директор управляющей компании <a href="http://www.investopedia.com/university/greatest/warrenbuffett.asp">Уоррен Баффет</a>.<br /><blockquote><q>Хотя внешне уход мой был неожиданным, решение уйти созрело не за одну ночь. Отслеживать такое количество компаний становилось все тяжелее к середине 80-х, когда индекс Dow Jones перевалил за 2000, а мне исполнилось 43. Управляя портфелем стоимостью, эквивалентной ВНП Эквадора, я почти перестал бывать дома и совсем забросил детей. А они быстро растут. Каждые выходные я с трудом вспоминал, как их зовут. Я проводил больше времени с Fannie Mae, Freddie Mac и Sallie Mae, чем со своими детьми.<br /><br />Если человек начинает путать названия организаций с именами членов своей семьи, помнит две тысячи кодов акций, но забывает о дне рождения детей, это верный признак, что он заработался.</q><br /><em>-- П. Линч, "Переиграть Уолл-стрит"</em></blockquote><blockquote><q>Что касается распределения капитала — это то, чем мы с Чарли [партнер Баффета] любим заниматься и что приносит нам бесценный опыт. В практическом смысле возраст не играет никакой роли в этом деле: вам не нужна хорошая координация или натренированные мускулы, чтобы таскать мешки с деньгами (слава небесам). До тех пор пока наш мозг будет действовать эффективно, мы с Чарли будем заниматься своей работой так же, как мы занимались ею раньше.<br /><...><br />Сейчас в корпорации Berkshire действует вторая модель управления, и она будет действовать до тех пор, пока я нахожусь в компании. А у меня, позвольте заметить, отменное здоровье. Хорошо это или плохо, но, похоже, еще какое-то время я останусь владельцем и управляющим корпорации.<br /><...><br />Чтобы не заканчивать наше повествование разговором о смерти, я хочу заверить вас, что никогда в жизни не чувствовал себя лучше. Мне нравится управлять Berkshire, а если удовольствие продлевает жизнь, то рекорд Мафусаила может быть побит.</q><br /><em>-- У. Баффет, "Эссе об инвестициях, корпоративных финансах и управлении компаниями"</em></blockquote><br />В этом контексте можно рассмотреть до боли знакомый нам сейчас "квартирный вопрос". Как объяснить цену квадратного метра киевского жилья на уровне брюссельской, мадридской или берлинской при существенно худшем качестве самого жилья и инфраструктуры, а также примерно в 3 раза меньшем среднем доходе?<br /><br />С одной стороны, квартира — не акции, и жить где-то нужно. Что ж, при существующих сейчас ценах на аренду и ипотечные кредиты и тенденциях изменения на период 10 лет аренда 1-комнатной квартиры в Киеве обойдется примерно в 60 тысяч долларов на весь период против 210 тысяч при ставке кредита 12%. Со стороны арендодателя тоже не радужная перспектива: инвестирование сейчас в квартиру для последующей сдачи принесет 3-4% годовых, по сравнению с 10-15%, которые дает тот же депозит. И это не говоря о намного больших рисках и требуемых существенных затратах времени и усилий. Т.е. стоимость квартиры должна ежегодно расти даже минимум — на 10%, чтобы компенсировать разрыв с самым простым и безопасным способом вложения. Но есть ли долгосрочные предпосылки для такого роста? Ошибка многих спекулятивных инвесторов в том, что, видя единичный случай необычного роста, они принимают его за нормальный, способный к репродукции в будущем. Это было бы не так плохо, если бы ситуация затрагивала только самих инвесторов, которые получали бы прибыль или расплачивались только за свои решения, но в случае с квартирным рынком такое положение вещей влияет на гораздо больший круг людей...<br /><br />Что же касается фондового рынка, то здесь ситуация иная: по идее, в нем участвуют только те, кого интересует в основном инвестиционный аспект этой деятельности, и, соответственно, их решения затрагивают только эту группу людей. В общем, он должен быть гораздо более привлекательной альтернативой недвижимости, особенно для спекулятивных инвесторов, но в Украине пока что не может играть такой роли по причинам, описанным далее.<br /><br /><h2>Почему украинские акции (пока) ничего не стоят?</h2>Как известно, стоимость актива рассчитывается как сумма приведенных денежных потоков, которые можно получить за период его использования. Для обыкновенных акций — это классический случай суммы приведенных дивидендов и цены последующей продажи акции. Данная реккурентная формула описывает модель, которая может иметь 2 реализации:<br /><ol><li>Западная экономика (в первую очередь, Соединенных Штатов), в которой большинство компаний находятся в публичных руках (т.е. ни один собственник не имеет контрольного пакета акций), имеют наемное руководство, более-менее представляющее интересы большинства акционеров, и поэтому в случае прибыльной деятельности распределяют большую часть прибыли в качестве дивидендов — это ведь совпадает с интересами акционеров.<a href="http://www.blogger.com/post-edit.g?blogID=6031647961506005424&postID=2982003276722829163#pif2"><sup>2</sup></a> Некоторые корпорации даже стараются поддерживать традицию ежегодного увеличения дивидендов, выкупают акции, таким образом увеличиваю процент владения компанией каждого акционера и т.д.</li><br /><li>Т.н. Emerging Markets (например, Украина), не имеющие долгих традиций рыночной экономики. На первый взгляд, в действии тот же принцип: часть акций корпорации находится в публичных руках и по ним должны выплачиваться дивиденды. И ведь у нас есть много корпораций приносящих большую прибыль, не так ли? Банковская сфера на подъеме, цены на металл высокие, природные монополии тоже, вроде как, могут при грамотном управлении получать большие доходы... Но есть одно но, у всех наших даже условно публичных корпораций есть только один фактический собственник, владеющий порой даже не контрольным пакетом акций. И выходит так, что интересы этого собственника не совпадают с интересами миноритарных акционеров — он не хочет получать процент прибыли предприятия, пропорциональный своему участию в его капитале, и делиться с остальными собственниками. И оказывается, что в нашей среде это не так трудно организовать. Вариантов много: это и использование посреднических структур-трейдеров, которым продукция предприятия продается по себестоимости, и выплата дивидендов только по привилегированным акциям с реинвестированием нераспределенного остатка — ведь отрасль на подъеме. Казалось бы, должны помочь приход в Украину западных компаний и выход украинских предприятий на IPO на мировых финансовых рынках. Поживем-увидим, пока что, во всяком случае, первое не принесло никаких изменений (да и зачем западным компаниям делится прибылями с украинскими акционерами и таким образом уменьшать доходы собственных), а второе еще не набрало достаточных объемов, чтобы можно было делать какие-то выводы.</li></ol>А в целом, вывод один: в среднесрочной перспективе (как минимум, на ближайшие 5 лет) ожидаемые дивиденды по акциям любой публичной украинской компании, торгующейся на ПФТС, не превышают 5-10% от их цены, а то и вовсе равны 0. Почему же тогда — появляется резонный вопрос — индекс ПФТС вырос за год больше, чем на 100% и находится на отметке 1000 пунктов? Для того, чтобы ответить, нужно разобраться в том, кто является основным участником рынка, кто, выражаясь биржевым языком, его "делает"? А это, по оценкам экспертов <a href="http://www.blogger.com/post-edit.g?blogID=6031647961506005424&postID=2982003276722829163#pif3"><sup>3</sup></a>, на 70% нерезиденты (читай, западные инвест-фонды). Что это за игроки? Как правило, это высокодоходные (что означает высокорискованные) хедж-фонды, в которые вкладывают свои деньги очень богатые американцы и европейцы. Они используют простой метод получения прибыли: вкладывать в рискованные и потенциально высокодоходные финансовые инструменты с большой диверсификацией и хеджированием рисков, которая доступна им благодаря оперированию огромными средствами в глобальном масштабе: и если в каждый из отдельно взятых инструментов или направлений, в которые инвестирует фонд, ни один из них никогда не вложил бы все или даже существенную часть своих средств, то разбросать по 5-10% по различным Emerging Markets, способным принести 50-100% годовых, контролируя риск на основании довольно обоснованных математических выкладок,— это и есть самая суть их подхода<a href="http://www.blogger.com/post-edit.g?blogID=6031647961506005424&postID=2982003276722829163#pif4"><sup>4</sup></a>. В таких стратегиях никогда не рассматривается цель долгосрочного инвестирования — они действуют иначе: вложил, подождал год, зафиксировал прибыль или убытки, и пошел дальше — рынок "отыгран".<br /><br />По сути, УФР сейчас — <b>финансовая пирамида</b>: основные участники рынка оперируют входной и выходной ценой, а не реальной стоимостью акций — это не долгосрочные инвесторы. И так будет продолжаться до тех пор, пока у существенной части компаний на рынке не появится традиции и перспективы дивидендов, ведь пока реальная стоимость их акций фактически равна 0. Для больших мировых игроков это еще одна площадка для вложения избыточных средств, для игры между собой, за ними тянутся маленькие игроки, пытающиеся успеть ухватить кусок с общего пирога. Для украинского инвестора – частного лица — это казино, даже для украинских ПИФов, не имеющих возможности диверсифицировать вложения — это тоже казино, что можно видеть из <a href="http://www.blogger.com/post-edit.g?blogID=6031647961506005424&postID=2982003276722829163#ris1">рис. 1</a>.<br /><br /><img name="ris1" src="http://img.photobucket.com/albums/v473/pufpuf/funds.png" height="500" width="800" /><br /><table width="80%"><span style="font-size:-1;"></span><tbody><tr><td align="center">Рис. 1 — показывает, что подавляющее большинство украинских открытых ПИФов повторило падение ПФТС, обусловленного августовским ипотечным кризисом в США<a href="http://www.blogger.com/post-edit.g?blogID=6031647961506005424&postID=2982003276722829163#pif5"><sup>5</sup></a></td></tr></tbody></table><br />Украинский рынок очень волатильный. Он в первую очередь сильно зависит от мировой конъюнктуры, как показывают августовские события — вследствие кризиса на американском ипотечном рынке индекс ПФТС откатился на 13%, хотя новости от украинских предприятий в основном позитивные — западным фондам просто нужно уменьшать риск своих портфелей. Во-вторых, он зависит от политической ситуации в стране: это неправда, что рынок не отреагировал на кризис с досрочными выборами — он потерял 13% за 2 дня сразу после 2 марта, но быстро восстановил утраченное, когда испуг прошел, и стало ясно, что кардинальных изменений не намечается. Западным инвесторам по большому счету все равно, кто у власти, но они хотят, чтобы риск находился под контролем их расчетов, в которые плохо укладываются катастрофические события. Это легко можно увидеть по графику изменения индекса ПФТС за последние 3 года: бурный рост, начавшийся в конце 2006 стал возможен после того, как в стране наконец сложилась, как казалось на тот момент, достаточно долгосрочная политическая конъюнктура. (Поэтому можно с уверенностью сказать, что, например, до конца этого года индекс тоже не будет расти, пока не сформируется новая коалиция...)<br /><br /><hr width="20" align="left" style="font-size:78%;"><span style="font-size:-1;"><a name="pif1"><sup>1</sup></a> кроме того, картина была бы не полной, если не учесть такой вид, как сбережение (в идеале, безрисковое вложение с определенным доходом, превышающим инфляцию), относительно которого всегда оценивается привлекательность рискованных видов инвестирования<br /><a name="pif2"><sup>2</sup></a> У.Баффет пишет: "Неограниченная прибыль должна удерживаться, только если есть разумная перспектива, имеющая исторические прецеденты или обусловленная глубоким анализом будущего,— когда каждый доллар, удержанный корпорацией, создаст для владельцев, по меньшей мере, один доллар рыночной стоимости. Это произойдет, если только нераспределенные средства принесут прибыль не меньше той, что обычно доступна инвесторам"<br /><a name="pif3"><sup>3</sup></a> http://www.expert.ru/printissues/ukraine/2006/10/13_ukr_fin_market/<br /><a name="pif4"><sup>4</sup></a> Подобный финансовый механизм также ипользуется в таких изобретениях страховой индустрии, как перестрахование и секьюритизация катастроф — http://radar.oreilly.com/archives/2007/08/securitizing_ri.html<br /><a name="pif5"><sup>5</sup></a> В графике показано:<br /><ul><li>для каждого ПИФа: изменение стоимости условных 1000 гривен средств, вложенных 1 января 2007 г.;</li><li>для ПФТС: изменение индекса (которое не приводилось к первоначальной базе 1000 пунктов). На 1 января значение индекса составляло примерно 500 пунктов, т.е. процентный рост индекса в таком же масштабе, как и у представленных ПИФов был бы в 2 раза выше. Но, учитывая то, что портфель этих ПИФов только на 40% может состоять из акций, коэффициенты взаимно компенсируются и на рисунке индексы приведены в примерное соответствие. Также нужно учесть тенденцию расхождения индекса и стоимости пая под конец периода из-за получения фондами доходов от вложений в депозиты и облигации</li></ul></span>Vsevolod Dyomkinhttp://www.blogger.com/profile/07729454371491530027noreply@blogger.com0