Обновить
332
Maxim Mozgovoy@rg_software

university professor and software developer

155
Подписчики
Отправить сообщение
> не очень обеспеченной жизни в прошлом

Да ладно Вам. У нас обычно наоборот — до денег дорвутся и тратят налево и направо. Мой опыт жизни в сытой Европе свидетельствует: местное население зря копейку не потратит. Машина будет ездить пока не превратится в металлолом, телефон меняется только если окончательно сдох, и одежда носится до последнего.

Я говорю об этом в нейтральном ключе, сам я только за себя отвечаю. Кому как нравится, пусть так и поступает.
Главное, как обычно, интерпретация цифр, а не сами цифры.
Я готов поверить, что 95% музыки пиратская, но это не значит, что путём прикрытия пиратских каналов производители могут резко увеличить свои доходы — вместо пяти процентов потенциального дохода получить все 100 (то есть повысить прибыль в 20 раз!)

Первое (и главное) — надо помнить, что ради интереса человек может накачать вагон музыки, но слушать и переслушивать реально он будет довольно небольшую часть коллекции. Соответственно, если вопрос станет ребром, вряд ли кто скупит всё, что скачал бы. Скорее всего, купятся отдельные, особо любимые альбомы, но далеко не всё.

И второе — не стоит недооценивать значение «пробного» прослушивания. Ведь это идёт не просто на уровне «послушал трек — купи». Наши пристрастия меняются, мы склоняемся к музыке тех или иных исполнителей. Я, может, куплю альбом певца Х, о котором раньше вообще никогда не знал, а теперь вот по рекомендации товарища скачал и насладился.
Жаль, что моя реплика была воспринята превратно.
Я сам обеими руками за креатив, за интересные ролики и тому подобное.

Но в том-то и дело, что вышеприведённый ролик почти на 100% совпадает с тем, что указал я. Ну и? :)

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

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

Иногда нужно указать потенциальные проблемы («на данный момент выполняется поиск за линейное время»). Линейное время — это ещё не повод для рефакторинга, но в будущем всё может случиться, и указать сей факт не повредит.

Я могу ещё придумать примеры :)
Очень мило, да только есть уже это на видео, зачем заново было снимать? :)
dangerouslyfun.com/homopolar-motor
www.metacafe.com/watch/504644/homopolar_motor/
Макстон — отличная вещь, не надо.
Сам пользуюсь много лет.

99% сайтов у меня отображается отлично (может, ценой бессонных ночей дизайнеров, но это их проблемы а не мои), кроме того, Макстон будет без проблем использовать движок IE8, как дойдёт до этого дело.
ну, вообще говоря, они правильно делают с точки зрения юзабилити

у них есть иконки «интернет», «почта», «компьютер», «музыка»

а как надо? WheekyGeeky CoolGear v 1.50b?
И пусть юзер сам думает, что это такое и для чего оно надо?

Нормальному человеку (не компьютерщику) нужно не шашечки, а ехать. Ему нужен интернет, а не название какой-то софтины.
> Известное заблуждение. Отговорка чтобы не писать комментариев.
абсолютно верно

попробуйте удалить следующий комментарий и ничего не напортить:

// для поиска подстроки используется алгоритм Кнута-Морриса-Пратта
// см. en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
int KMP(string s, string w) {… }

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

Проблемы:
1) cложность и нечёткость предметной области. Если бы я писал библиотеку функций с понятным чётким поведением (тригонометрия, линейная алгебра) вопросов бы не было.
2) (редко, но бывает) ветвистость алгоритмов. Иногда у нас возникает куча кейсов типа «если-то», причём по отдельности каждый кейс выглядит довольно простым. Сочинять для такого тесты, честно говоря, ломает, потому что каждый случай тривиален, а чтобы покрыть большинство вариантов, уходит много кода. Покрыть же небольшую часть смысла мало, т.к. тогда тест становится не очень полезным.
3) в целом не очень большая польза от атомарных тестов в ИИ :) в большинстве случаев откомпилировать программу и заставить её работать по спецификации не очень трудно. Но оказывается, что работает интеллект плохо :) Приходится изменять параметры, влияющие на поведение, добавлять новые анализируемые факторы и т.п. То есть основной «дебаг» заключается в дополнительном анализе предметной области, а не в сверке со спецификацией.
4) (самый важный технический трабл). Наш «конструктор» можно представить себе ещё так. Есть инфраструктура с «дырками», для которой надо написать модули, затыкающие эти «дырки». Друг без друга ничего не работает. Чтобы запустить систему, нужны все модули (хотя бы в виде заглушек). Соответственно, чтобы тестировать инфраструктуру, нужны все модули (пусть хотя бы mock objects). А чтобы тестировать модули, нужна инфраструктура (впрочем, это уже не очень страшно). При этом всё развивается, иногда приходится менять слегка инфраструктуру под конкретный проект или добавлять в модули то, чего там быть не должно. В результате получается, что полноценный тестовый комплект может быть очень велик, включая в себя mock object едва ли не для любой сущности системы. Я склоняюсь к тому, чтобы рано или поздно стиснуть зубы и сделать эту работу. Но пока никак :)
5) (ерунда, но всё-таки) GUI-инструменты так тестировать вообще не получается.

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

В общем, сложно это всё, но интересно :)
По-моему, это всё пиар. То есть, конечно, очень (а) мило, что Гугл забоится об экологии, и (б) понятно, что эта забота ещё и выгодна с экономической точки зрения — меньше за электричество платить.

Но эти сравнения с чайниками и десктопными компьютерами не показательны. Их цель — чтобы человек сказал wow, а не чтобы адекватно оценил ситуацию.

Гугл обслуживает сотни миллионов человек ежедневно, глобальный сервис глобальных масштабов.

Я думаю, что было бы правильнее сравнивать не с чайником, а, скажем, с выхлопами автомобилей в каком-нибудь небольшом государстве. И наверняка окажется, что все автомобили, допустим, Эстонии производят больше гадости, чем глобально-всемирный Гугл. И субъективная оценка проблемы будет совсем иной…
А хз, может быть, это увольнение и некрасивое, но совершенно законное действие в Штатах? В конце концов, в Штатах законы более либеральны. Скажем, уволить человека там куда проще, чем в Европе.

Хоть Штаты и Европа явно движутся в сторону друг друга (Штаты к социализации, а Европа к либерализации), всё-таки фраза «you are fired!» больше известна по американским фильмам. У них действительно можно сказать «ты уволен — немедленно очистить помещение!», насколько понимаю.
Это я понимаю. У меня у самого научный руководитель занимается алгоритмами обработки строк. Сравнение, нечёткое сравнение, поиск подстрок, сравнение строк, сжатых архиватором (без распаковки), онлайн-поиск (когда строки поступают постепенно по каналу связи, и конец ещё недоступен). Он так и говорил, что применение в генетике очевидно.

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

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

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

Другой впечатливший меня пример. Пару лет назад одна преподавательница усиленно продвигала метод обучения, весьма упрощённо описывающийся как «сначала даём задачи решать, а потом уже теорию, нужную для решения этих задач». Какие-то статьи писала, экспериментировала. А потом появился на горизонте некий инженер-математик, который пожал плечами и сказал, что всё это очевидно, что получается система с положительной обратной связью, и что он может легко формально доказать, что всё это работает :)
Но ведь преподавательнице и в голову бы не пришло спросить математиков-инженеров про их формальные методы!
Эх, огромен мир вокруг… вот пару часов назад узнал, что есть такие Лера и Ранетки (дай бог им здоровья, а мне — никогда про них больше не слышать :) ).

А сейчас читаю про то, что кто-то покупает на фирме красавицу-плазмиду (!) и инсталлирует туда гены (!!). Здорово. Ощущения смешанные. С одной стороны, это всё безумно круто и интересно. А с другой стороны, как же каждый из нас далёк едва ли не от всего остального… Если бы тут появился человек, который бы рассказывал про ремонт электровозов, и там бы нашлось куча всего интересного, наверно.

Мне вот что реально интересно. Разные области науки-техники ведь могут быть очень полезны друг другу. Понятно, что то же программирование в той же биологии может весьма помочь. Но как много специалистов с двойным образованием, которые на практике сумеют заполнить промежутки между направлениями в науке-технике?..
> Писать книги я не умею, да и опыта мало, но поделиться некоторыми аспектами использования unit тестов я могу

Точно не интересно попробовать формат пошире? Хотя книги по TDD есть, я думаю, тут ещё об очень многих аспектах можно порассуждать.

По крайней мере, я сам в повседневной практике усиленно пытаюсь внедрить TDD, но что-то всё время мешает. Сам я объясняю себе это сложностью и спецификой предметной области, но любой спец, скорее всего, легко раскритикует и объяснит как надо. Так что бы от хорошей книжки не отказался ;)
ну я бы не сказал, что это «просто». это уже совсем непросто, и даже не совсем уж нечестно! все бы так делали :)
У меня было несколько попыток экспериментировать на эту тему (родственная задача — выявление плагиата в текстах). Похоже (мой вывод на данный момент, не более того!), что вычленить и использовать вот эти индивидуальные особенности очень трудно. У кого-то они ярки, а у кого-то гораздо тоньше, даже человеку трудно различить.

Более перспективен поиск по «штаммам», как вирусы ищут на компьютере. То есть собрать коллекцию сообщений от такого персонажа, а затем сравнивать новые сообщения с готовой базой. Писать каждый раз новое, совсем не повторяясь, — невозможно!
Нокия много чем занимается
Скорее, врачи и юристы.

И тем, и другим нужно дедуктивное мышление (из общих законов выводим действия в данной конкретной ситуации).

А в науке нужно мышление индуктивное (от фактов к теории).
К чему такая категоричность?
Вы думаете, я никогда не печатал на обычной клавиатуре?

Если бы это было «определённо нет», то определённо Microsoft, Logitech и прочие производители изогнутых клавиатур давно сняли бы их с производства.

Кстати, интересны клавиатуры MALTRON (http://www.maltron.com/)
Вроде бы это ещё лучше, но я сам не пробовал.
Этот сценарий неправдоподобен и не только потому, что он апокалиптичен :)

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

Теперь о начале. Нам сразу же объявляют, что кризис системный, но я как-то нашёл мало доводов в пользу именно этой версии (т.е. почему он системный?) Да, доллар может упасть или там золото ничего не обеспечивает.

Но причём тут золото и доллары? Доллары — это всего лишь бумажки, а золото — металл. И первое, и второе кушать нельзя, и согреться им тоже нельзя. Преимущество «реального» золота перед бумажным долларом эфемерно. Люди, держащие золото, исходят из соображения, что завтра можно обменять золото на еду, но в условиях глобального краха никому золото не нужно, всем нужна еда.

Так же все россказни на тему краха доллара и последующей ломки всей мировой торговли — это басни. До ХХ века как-то ведь торговали? Вот если предположить, что завтра действительно США рухнет (хотя это чепуха), что реально произойдёт? Да, все кредиторы потеряют возможность вернуть долги. Обидно. Но ведь и сейчас они как-то выживают без этих денег.

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

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

Информация

В рейтинге
4 678-й
Откуда
Фукусима, Япония
Дата рождения
Зарегистрирован
Активность