Математика и секс
Апрель 20th, 2012

Coursera и Udacity

Продолжаю кстати слушать онлайновые курсы по Computer Science. С момента как я в последний раз о них писал, они здорово видоизменились.

Во-первых, Себастьян Тран и компания запустили собственный проект Udacity. На самом деле этот проект несколько пока разочаровывает. Я прослушал (на самом деле прокрутил довольно быстро, выполнив всего пару заданий) курсы «Building a serach engine» (CS101) и «Programming a robotic car» (CS373, его просмотрел не до конца), и впечатление сложилось негативное.

CS101 оказался на редкость примитивным и мне показалось, что слишком уж примитивны он будет даже для новичка. То есть посоветовать никому я этот курс не могу на самом деле, хотя конечно мне сложно судить — сам с программированием я познакомился много лет назад, и рассуждать что лучше для новичка, не имея преподавательской практики, я конечно не вправе. Но то что курс не тянет на «top university level», как они себя позиционируют — это по-моему очевидный факт даже для CS101. Максимум — уровень среднеобразовательной школы (единственный плюс — изучается Python, а не какой-нибудь Basic или Pascal, как в России).

Домашние задания даже нельзя назвать тривиальными. Пяток программ типа «print 2+3» за неделю — это реально смешно. То есть никакой наработки практических навыков программирования курс не дает, для меня он оказался 100% бесполезным, что странно даже для CS101 — обычно лекторы в любой курс вставляют хотя бы какие-то факультативные факты, которые и для опытного разработчика оказываются новыми. Тут не было вообще ничего.

Короче я не доволен.

CS373 был чуть лучше, но тоже не особо. Задания крайне примитивные и часто вообще не на CS, а на какие-то отвлеченные вещи. Например, домашнее задание на реализацию фильтра Кальмана сводилось к тому, чтобы догадаться о размерности перемножаемых матриц, а смысл самих матриц даже в общих чертах не объяснялся — это полностью убило мою мотивацию слушать лекции Себастьяна далее. Никакой математики почти не рассматривается, а там где она вдруг появляется, она быстро пробегается мимо как что-то очень сложное, а затем опять разжевываются тривиальные вещи.

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

А вот Coursera произвела совершенно противоположное впечатление. Во-первых, к проекту присоединился целый ряд университетов, и помимо Стэнфорда свои курсы публикуют так же Princeton University, University of Michigan, Universoty of California, Berkley и University of  Pennsylvania. Сам состав курсов тоже значительно расширился: теперь это не только Computer Science и Enterpreneurship, но и медицина, история, социология, экономика, какая-то даже математика.

Из всех курсов, увы, я оказался спобен заниматься только Natural Language Processing. Качаю и остальные, конечно, но выполнять задания не успеваю — восьмичасовой рабочий день банально не позволяет слушать большее количество лекций. Начинал слушать Probabilistic Graphical Models, но не успевал и сконцентрировался на одном только курсе.

Вот эти курсы действительно оказались близки к «top university level». Во-первых, сам материал актуальный, интересный и не тривиальный. Курс составлен очень качественно и продуманно. Но помимо лекций, важны еще и домашние задания.

Одно из последних домашних заданий требовало находить в тексте имена людей. Это на самом деле нетривиальная задача: многие слова имеют двоякий смысл, например «Victoria» может быть именем девушки, а может означать победу, и если это слово стоит в начале предложения, то проверка того имя это или нет сильно затруднено. Так же могут использоваться клички и псевдонимы, которые тоже надо вычленять из текста как имена собственные.

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

Мне это сразу напомнило курс методов оптимизации в МИФИ. Там мы градиентным методом поиска искали экстремум функции f(x, y) = x^2 + y^2. Причем я не шучу — это на полном серьезе называлось словом «лабораторная работа». В других институтах насколько я знаю ситуация с контентом курсов хоть и лучше, но тоже фатальна.

Курс NLP хорош тем, что дает реальные практические навыки в задачах, приближенных к реальным условиям (в отличие от курса CS101 Udacity, например, где мне плакать хотелось, особенно учитывая то что я когда-то немного читал учебник по Information Retrieval), и дает почувствовать масштаб реальных задач.

Еще полезный аспект — реальное применение каких-то математических концепций в Computer Science. Математика там конечно исключительно примитивная (логарифмы, вероятность, производная), но все равно забавно как применение какой-нибудь базовой теории вероятностей порой может кардинально повысить точность в сравнении с чем-нибудь совсем простым и очевидным. Если бы подобные курсы читались в технических ВУЗах, то ни у кого бы не возникало вопроса «а зачем мне это надо».

Ну и сами задания по программированию интересны. Я как-то писал, что в большинстве случаев довольно глупо требовать от учеников решения задачек — вместо этого надо выполнять проекты. Курс NLP почти целиком следует этому подходу (следовать ему целиком — сложная задача разработчика курса, и вероятно не всегда решаемая). В половине Programming Assignments не существует верного ответа, и вы можете рассчитывать лишь на некоторую точность работы вашей модели, выраженную в процентах (вернее, там почти всегда используется F1-мера, но это уже детали). У вас не получится догадаться какое должно быть решение и у вас не получится нащупать какой-то один заранее запланированный путь — вы именно сидите и думаете над реальной задачей, где решение не определено, а ваш балл получается не за ошибки в решении, а за его реальную применимость в жизни. И это очень круто (на самом деле существование решения конечно предполагается, и вам оно примерно известно из лекций, но и собственная творческая работа там довольно обширна).

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

Но это в общем-то главным образом про NLP. Остальные курсы я смотрел лишь мельком — там не везде есть Programming Assignments, но лекции тем не менее производят приятное впечатление. Так что всем рекомендую.

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

Но собственно все это я написал, чтобы как-то прорекламировать. Всем настоятельно рекомендую. Coursera — это пожалуй наиболее полезный и интересный курс, который мне до сих пор приходилось слушать. Очень жалею, что не успеваю больше.

P.S. Очень извиняюсь перед всеми, кому не успеваю отвечать на почту или ВКонтакте. Меня жутко раздражают люди, игнорирующие письма, я это считаю довольно высокомерным и не приятным поведением, но я сам теперь стал таким. Пишут мне много, и я банально не успеваюсь, особенно на фоне того

Апрель 10th, 2012

PageRank

Узнал случайно из Википедии, что PageRank algorithm назван так совершенно не от слова «page», что было бы логично, ибо он как раз и завязан на взвешивание этих самых «page», а в честь чувака Lawrence «Larry» Page, который этот самый алгоритм и разработал. Нифиговое совпадение, и очень смешное безусловно.

Март 23rd, 2012

3D-отладка в Firefox

Немного программистского.

Понадобилось разобраться в CSS страницы одного из проектов, над которым я работаю. Некоторое время назад я перелез с Opera на Firefox, ну и решил посмотреть что там есть для исследования таблиц стилей. Нажал на «Исследовать элемент», стал тыкать кнопочки, а там — красота. Страницы в 3D-виде, вся вложенность боксов отмечена высотами, элементы разных классов отмечены разными цветами «стен». Дико красиво, и наверное удобно (по крайней мере теоретически из трехмерной структуры страницы можно что-то и увидеть). Может быть это все конечно уже протухшая новость (верстальщики наверняка до меня знали, я же сам версткой занимаюсь раз в пол-года, а то и реже), но меня это все очень обрадовало. Вот просто несколько скриншотов, так чтобы все заценили:

Скриншоты кликабельны. Пока пробовал это только под рабочей Windows 7, дома попробую под домашней Ubuntu. Думаю, довольно приятно будет в таком виде просматривать порносайты.

Январь 27th, 2012

Перешел на Ubuntu

Мою Винду окончательно сгрызли сетевые черви, и это не лечится. Вообще в плане безопасности Виндовс стала каким-то ужасным решетом. Оно всегда таким было, но в последнее время особенно. Не так давно переставлял на работе XP из-за того, что он пришел в полную негодность и потрепался вирусами. После этого с рабочим компом я стал осторожнее: перестал смотреть в офисе порнуху (и даже эротику) и попросил сисадмина заблокировать мне «ВКонтакте».

В итоге сейчас вирусы все  равно добрались до меня каким-то образом, проигнорировав настройки файрволла и антивирусы. Вирусы причем хитрыми стали: подставляют например иногда в результаты поиска Гугла ссылки на откровенные фейковые адреса ВКонтакта, с самого ВКонтакта спамят, но редко, да и подчищают потом за собой. Антивирус Касперского говорит, чтобы я не волновался: «Компьютер полностью защищен». Остальные антивирусы тоже не видят ничего криминального в моей системе.

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

Оказалась Убунта совершенно замечательной, что для никсов неожиданно. До этого я довольно долгое время был пользователем ASPLinux, но он совершенно не радовал. Для того, чтобы настроить банальный «Стрим», приходилось например пересобирать ядро. Не большая проблема, но сам факт. (Хотя если говорить именно об ASPLinux, то он был вообще тотально поганым: в конфигурациях типа «Home Standard» даже не было gcc, то есть даже невозможно было поставить ничего из тарболлов, однако я изначально был вынужден его использовать из-за того, что остальные дистрибутивы имели более серьезные проблемы с настройками русского языка, что для меня, начинающего юниксоида было значительным фактором).

А начиная с какой-то версии ASPLinux они поставили в стандартный пакет драйвер для USB ADSL-модемов Eagle USB, и Интернет у меня вообще перестал работать. А тут как раз приобрел новый ноут, с предустановленной лицензионной виндой, для которого никаких никсовых драйверов вообще не было. Так я на много лет перестал быть линуксоидом.

А сейчас я поставил Убунту, и совершенно неожиданно в ней вдруг все заработало. Не сразу, конечно: первая попытка инсталляции провалилась, так как я поставил флажки «Скачать при установке обновления и разрешить установку 3rd-party-софта», что привело к тому, что система вообще перестала запускаться из-за установленного кривого драйвера nVidia. Но когда я переустановился потом только с диска без обновления (обновления загрузил позже отдельно), все заработало вообще замечательно и пока никаких нареканий на Убунту у меня нет, только восторг: интерфейс неожиданно удобный (значительнее удобнее Винды), софт изначально предустановлен адекватный (благодаря нему я наконец понял как пользоваться Твиттером, хотя все равно не проникся), работает все крайне быстро.

Рекомендую.

Январь 13th, 2012

Стэнфордские курсы

Наверняка уже все знают, но чтобы никто точно не пропустил, тоже напишу.

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

В прошлый раз курсов предлагалось три:

  1. Artificial Intelligence
  2. Databases
  3. Machine Learning

Внимание общественности главным образом привлек Artificial Intelligence по трем причинам:

  1. Название курса «искусственный интеллект» звучит круто.
  2. Ведут курс прославившиеся ученые Peter Norwig и Sebastian Thrun (у обоих послужные списки очень обширные, но общественностью наиболее была замечена попбеда в DARPA Grand Challenge робота Stanley, разработанного командой Себастьяна).
  3. В конце обещали дать сертификат об окончании курса, что многими было воспринято чуть ли ни как диплом Стэнфорда (на деле это просто электронный документ, подписанный цифровой подписью Питера и Себастьяна, что к Стэнфорду никакого юридического отношения не имеет).

Собственно на деле курс по AI оказался наиболее слабым: слишком много времени уделялось подстановке цифр в формулы, слишком частные случаи рассматривались, слишком низкий уровень математической подготовки студентов предполагался, домашние задания сводились так же к подстановке цифр в формуле и не предполагали никакой интеллектуальной работы.

Это с одной стороны. С другой стороны как обзорный он вышел очень даже хорошим общеобразовательным. Там было дано и общее представление о регрессионных моделях, и алгоритм A*, и скрытые марковские процессы, и байесовы сети и куча всего другого. Это все сейчас постепенно становится теорминимумом для любого человека, который хочет заниматься программированием чуть на более высоком уровне чем программист 1С, и знать это такие штуки хотя бы существуют часто полезно (а подробности всегда можно посмотреть в Википедии).

Для сравнения, в МИФИ я отучился на CS четыре года и если бы не бунтовал, то был бы сейчас бакалавром. За время обучения я прошел несколько связных с AI курсов типа «Искусственные нейронные сети», «Цифровая обработка сигналов», «Анализ данных» и еще что-то  (все это очень условные названия курсов на самом деле, так, в курсе по нейронным сетям в том числе читались генетические алгоритмы как способ решения оптимизационных задач), но из всего перечисленного у нас были только регрессионные модели, да и те ограничивались простейшими видами — не было даже логистической регрессии, которая вообще самая базовая после линейной.

Итогом курса AI стало приглашение тысячи лучших студентов прислать авторам курса свое резюме. Правда, насколько я понял, рассылались приглашения только студентам из США, но мне в общем-то пофигу

Что касается курсов Machine Learning и Databases, то они оказались очень крутыми. Machine Learning слабенький в плане математики, но требует программировать на языке Octave (open-source аналог MATLAB) всякие вещи. Это довольно полезное занятие — материал лучше откладывается в мозгах и в общем-то изложенный материал становится понятным не только на уровне абстракций, но и как-то на уровне физических ощущений. Опять же как общеобразовательный курс, развивающий параллельно простые навыки работы в математических пакетах, очень он очень хорош.

Databases же вообще выше всяких похвал. С ними у меня всегда были проблемы — мне никогда не приходилось программировать ничего более-менее сложного, связанного с базами данных, а задания в соответствующем курсе в МИФИ были слишком тривиальны (уровня «вывести все университеты, на которых читается CS» без каких-либо изысков). Книжки и онлайн-лекции так же практики не представляли.

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

Кстати хотя этого и не объявлялось и не пиарилось, но курсы по Machine Learning и Databases в результате так же дали подписанные сертификаты, ни чуть не более худшие чем сертификат AI. А понимающие люди согласятся, что они и куда более серьезны.

Все эти курсы до сих пор доступны. Баллы за домашние задания уже не выставляются и сертификат не получить, но сами задания доступны, так что я бы всем заинтересованным очень рекомендовал пройти эти курсы — по базам данных вы вообще маловероятно что лучший источник найдете. Знакомство с Octave тоже может оказаться полезно. AI рекомендовать не могу — проще посмотреть список тем и почитать соответствующие статьи в Википедии. Хотя как простенький обзорный материал тоже можно использовать, но слишком уж лекции там затянуты.

(Кстати, справедливости ради надо сказать, что сам я в результате балл набрал невысокий — точно не помню сейчас, но что-то вроде 77% или около; я забил на часть домашних заданий, а что-то мне было лень считать).

В наступающем семестре Стэнфорд предлагает вообще огромную кучу курсов:

Lean Launchpad

Technology Enterpreneurship

Anatomy

Making Green Buildings

Information Theory

Model Thinking

CS 101

Machine Learning (повтор)

Software as a Service

Human-Computer Interaction

Natural Language Processing

Game Theory

Probabilistic Graphic Models

Cryptography

Design and Analisys of Algorithms

Computer Security

Пока сложно заранее предположить что это будут за курсы, но видя уровень уже прошедших курсов, есть ощущение, что по крайней мере часть из них будут охеренной. Жаль, что не получится слушать все. Записался я на все конечно, что именно буду слушать разберусь уже по ходу дела.

Декабрь 27th, 2011

Литература по Computer Science

Читатель measure_0 порекомендовал мне в прошлой заметке пройти тесты GRE subject tests. Какие именно он не уточнил, но я так решил, что видимо по моему направлению это должны быть mathematics и computer science. Скачал примеры тестов по обоим дисциплинам. Тест по математике оказался вроде простым (если не брать в расчет, что там на каждую задачу по 2 минуты, а задачи бывают и не только элементарные). А вот тест по Computer Science оказался для меня каким-то запредельно сложным и у 50% вопросов я даже толком не понимаю о чем там спрашивают. Проблемы у меня вызывают в основном вопросы, связанные с компьютерным железом и архитектурой операционных систем, хотя и в теоретических вопросах бывают какие-то загвоздки.

В общем оказалось, что Computer Scientist из меня дерьмовый, хотя сам тест наверняка простой (если предположить, что его уровень примерно такой же как и по математике, то он вообще должен быть элементарным; об этом так же свидетельствует уровень вопросов по алгоритмам или конкретному кодингу, в чем я худо-бедно разбираюсь).

Посмотрев тест у меня возникло желание как-то подтянуть свои знания в этой области, но возник обычный вопрос: что читать? Нужен список литературы, желательно составленный адекватными людьми. В Интернете я не смог найти чего-то подобного, обычно ограничивается все рекомендацией учебников по алгоритмам, но этого явно недостаточно.

В этой записи я предлагаю коллективными усилиями набросать список литературы по темам Computer Science с прицелом на GRE. Не потому что это какой-то супер-важный экзамен, а просто судя по всему он покрывает на мой взгляд довольно широкий и довольно правильный спектр тем, которыми хорошо бы овладеть быдлокодеру, который ожидает какого-то профессионального роста. Поэтому ниже я привожу темы, заявленные как необходимые для сдачи GRE, а комментаторам я предлагаю предлагать источники, по которым это можно изучать (книги, видеолекции, и подобное — главное чтобы это было возможно достать рядовому пользователю сети Интернет). В комментариях предлагаю указывать собственно источник, темы, которые он покрывает, и уровень — вводный/GRE/продвинутый. Заметку я буду обновлять по мере поступления новых ссылок на материалы.

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

Собственно темы (извиняюсь за дебильную верстку — это почти копипаста, видимо позже поправлю):

SOFTWARE SYSTEMS AND METHODOLOGY
A. Data organization
• Data types
• Data structures and implementation techniques

B. Program control and structure
• Iteration and recursion
• Procedures, functions, methods and exception handlers
• Concurrency, communication and
synchronization

C. Programming languages and notation
• Constructs for data organization and program control
• Scope, binding and parameter passing
• Expression evaluation

D. Software engineering
• Formal specifications and assertions
• Verification techniques
• Software development models, patterns and tools

E. Systems
• Compilers, interpreters and run-time systems
• Operating systems, including resource management and protection/security
• Networking, Internet and distributed systems
• Databases
• System analysis and development tools

II. COMPUTER ORGANIZATION AND ARCHITECTURE
A. Digital logic design
• Implementation of combinational and sequential circuits
• Optimization and analysis

B. Processors and control units
• Instruction sets
• Computer arithmetic and number representation
• Register and ALU organization
• Data paths and control sequencing

C. Memories and their hierarchies
• Performance, implementation and management
• Cache, main and secondary storage
• Virtual memory, paging and segmentation

D. Networking and communications
• Interconnect structures (e.g., buses, switches, routers)
• I/O systems and protocols
• Synchronization

E. High-performance architectures
• Pipelining superscalar and out-of-order execution processors
• Parallel and distributed architectures

III. THEORY AND MATHEMATICAL BACKGROUND
A. Algorithms and complexity
• Exact and asymptotic analysis of specific algorithms
• Algorithmic design techniques (e.g., greedy, dynamic programming, divide and conquer)
• Upper and lower bounds on the complexity of specific problems
• Computational complexity, including NPcompleteness

B. Automata and language theory
• Models of computation (finite automata, Turing machines)
• Formal languages and grammars (regular and context-free)
• Decidability

C. Discrete structures
• Mathematical logic
• Elementary combinatorics and graph theory
• Discrete probability, recurrence relations and number theory

IV. OTHER TOPICS

• Numerical analysis
• Artificial Intelligence
• Computer graphics
• Cryptography
• Security
• Social issues

 

UPD: Эту заметку я все-таки не буду корректировать видимо. Лучше когда сам примерно буду иметь представление как правильно готовиться, сделаю отдельный удобный и адекватный обзор. Но пока все равно есть смысл дискутировать в комментариях.

Июль 4th, 2011

Программисты vs. финансисты

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

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

Насколько я понял, здание изначально проектировалось под такое неравное соотношение полов, так как когда я случайно по ошибке зашел в женский туалет (в первый день не разобрался в стилизованных обозначениях на дверях), то увидел там в три раза больше кабинок, чем в мужском. Однако на стадии проектирования видимо не брали в расчет этаж айтишников, и поэтому на нашем этаже столь же мало мужских сортиров, как и на остальных.

Следствием этого является то, что программисты вынуждены бегать в туалет на другие этажи, потому что зачастую на собственном этаже все оказывается занято 24 часа в сутки. И вот здесь выясняется неожиданная разница между программистами и финансистами.

При всей загруженности сортира на нашем этаже, он всегда чист и опрятен, кто-то даже приносит освежитель воздуха, так что там действительно приятно сидеть и играть в телефон (играю обычно в «Бриллианты Пэрис Хилтон» — она очень простая и думать не надо, как раз для меня). Однако когда спускаешься на любой другой этаж, где туалеты практически не используются, то всегда наблюдаешь одну и ту же картину — на стульчак, а то и просто на пол, часто нассано, корзина для обосраной туалетной бумаги разломана и часто перевернута вверх дном, ободок унитаза нередко измазан дерьмом.

По-моему очень показательно. Хоть средний айтишник является и не самым приятным зрелищем по жизни (как говорит мой коллега, «два программиста равно половине человека»), все остальные по объективным показателям оказываются в сотню раз омерзительнее.

Май 27th, 2011

Биржевая байка

Читатель нашел на Багтраке давнишнюю историю моего написания про один случай на фондовой бирже, и спросил по почте является ли правдой описанное. Является или не является я конечно не скажу, но саму историю думаю можно запостить в блог, потому что забавная, была ли она или нет. Хотя поймут конечно только люди в теме, но все равно.

Итак:

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

И имел девелопер Петров полный доступ к сорсам торговой площадки, и решил он внести такую строчку кода:

if (trader == «Иванов») {
сначалаМне(trade);
потомИванову(trade);
}

На следующий день после релиза новой торговой системы понес девелопер колоссальные убытки, уйдя в минус и оставшись в должниках, а Иванов по-прежнему заработал много бабла, даже не заметив изменения в новой версии. Потому что девелопер и трейдер платили разные комисионные за счет разных объемов и разной должности, и делая слелку на разницу в 0.1% Иванов получал доход, имея мизерную комиссию, а для Петрова такая сделка оказывалась убыточной, так как он по 0.05% платил как от объема продажи, так и от объема покупки.

2008 г.

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

Май 17th, 2011

Помощь детям

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

В связи с этим требуются люди, которые способны делать что-то полезное в веб-пространстве. Главным образом нужны ребята, способные к верстке, дизайну и/или PHP-программированию. Ну а вообще любые скиллзы будут полезны. Если кто-то желает безвозмездно помогать (типа за +1 к карме в месяц), то следует писать мне: heller@heller.ru. Именно онлайн-проект пока находится на нулевой точке и не сделано пока вообще ничего, но в ближайшее время уже надо будет делать.

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

Февраль 24th, 2011

Вирусы

В очередной раз получил письмо с «фотками без трусиков». С расширением «exe» конечно же. Я думал, что моя жопа прикрыта антивирусом, но я ошибался: Авиру я какое-то время назад снес, потому что она конфликтовала с какими-то функциями сетевыми в отладчике Вижуал Студии. Ну и о том, что антивируса у меня нет, я просто забыл.

Я запустил файл, компьютер вдруг перезагрузился, а потом  перестал пускать меня в Интернет. Выводил сообщение о том, что «Надо срочно обновить браузер, а то у вас вирус, который крадет пароли от ВКонтакта и Одноклассников». Предлагал отправить SMS, так как обновление типа платное.

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

Перепробовал всякие Virus Removal Tool Касперского и CureIt Доктора Веба, но нифига не сработало. Антивирусы убеждали меня в том, что у меня все хорошо.

Спасла в результате только утилита HiJackThis, в которой я снес все подозрительное.

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

This work is licensed under GPL - 2009 | Powered by Wordpress using the theme aav1
SEO Powered by Platinum SEO from Techblissonline