Pull to refresh
19
0
Евгений Егоров @EugeneEgorov

User

Send message
А чем он плох?
Ссылка в посте на The Ksplice Pointer Challenge внезапно оказалось любопытной, кто читал пост и не смотрел, рекомендую.
Если вы посмотрите на определение «О большого», то поймете, что О( С ) и О(1) по смыслу одно и то же. Запись О(С) при этом избыточна, а О(1) намного более широкоупотребима.
Это для уже инфицированных…
Не знаю, как сейчас, но в одном из прошлых контестов от наса получить футболку было относительно просто. Мне потребовалось пару часов на обдумывание и осмысление задачи, еще 3-4 часа на кодирование, часов 10-15 на доработку и отладку алгоритмов. Учитывая, что контест идет 3 недели, получается в среднем где-то час в день. Учитывая, что очень успешно думать можно в дороге или за обедом, не так уж много. Самое сложное — первый эпап: понять задачу и написать сколько угодно тупое, но работающее решение. С этим каркасом дальше двигаться намного проще и интереснее. После каждой модификации алгоритма ждешь результатов с замиранием сердца!

По поводу футболок, кстати. Когда мне присылали, я написал размер, посмотрев его на текущей (видимо, китайской) футболке. Получив в итоге нормальный американский XL обнаружил, что меня туда спокойно влезет три штуки по ширине :)
Уж не думаете ли вы, что просто перекомпилировать 32битный код на 64 битах достаточно, чтобы все зараборало? С очень-очень большой вероятностью сходу ничего не заработает, и отладка займет далеко не 15 минут. И даже вряд ли 15 часов, счет скорее всего счет на дни-недели, в зависимости от объема и корявости кода. Вероятно, пока это не стоит того.
Дима, посмотри ролик в конце топика по ссылке. Там хорошо показан весь трюк.

Для ленивых
спойлер
Верхнюю часть себя он снял, когда штанга была снизу, нижнюю часть себя — когда штанга была сверху. Т. е. положение штанги менялось в процессе съемки, а положение камеры с некоторой точностью сохранялось.
.
Оффтоп. Хм, неужели действительно заниматься научной деятельностью можно под музыку? Мне всегда казалось, что под музыку можно заниматься только мало- или среднеинтеллектуальными делами(например, что называется кодить). В моменты, когда нужно действительно глубоко подумать, музыка, имхо, только отвлекает и начинает раздражать. Нет?
+1, пробовали как-то раз. На вычислительных бенчмарках gcc довольно сильно проигрывает, на большом коммерческом коде (в котором, впрочем, тоже очень много вычислений) уступает. Но это эксперименты двухгодичной давности, может быть, сейчас что-то изменилось.
Прекрасный пост о человеке, который занимается своей мечтой! Хочется верить, что у него все получится и через несколько десятков лет о нем будут писать книжки, как об одном из самых выдающихся людей современности.

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

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

Позвольте мне в двух словах описать основную идею поста.
Символьные вычисления — последовательность преобразований математических выражений, как это делает человек на бумаге: приводим знаменатели, раскрываем скобки, сокращаем дроби и т.д. Оказывается, на языке Haskell такое можно реализовать довольно изящно(хотя в комментариях выше пишут про пролог, на котором все еще проще). Нужно только сформулировать свод правил, по которым выполнять преобразования. Сам язык таков, что позволяет записывать эти правила в очень наглядном виде. Например, операция приведения к общему знаменателю выглядит так (Fraction x y, как нетрудно догадаться, это дробь x / y):
Fraction x y + Fraction z v
    | y == v                  = Fraction (x + z) y
    | otherwise               = Fraction (x * v + z * y) (y * v)
Теперь, зная это, можно спокойно читать с части «Итерация 1» до «Итерация 8». :)

Далее к автору.
Не понял, зачем нужна такая огромная прелюдия (часть «Модуль решения задачи»), особенно про импорты модуля Expression_08 и про запись в файл Result_08.txt. Если выбросить подобные детали, то это похоже на постановку задачи. Но у меня, например, с квантовой механикой туго (точнее никак — не обучали), поэтому постановки задачи я так и не понял. Понял только, что есть какое-то (подозреваю — вполне человекочитаемое) выражение, получающееся после первого шага перемножения |ϕ> и |+>. Дальше это выражение нужно привести в более «каноническую» форму. Учитывая что все дальнейшие действия(и вообще суть поста) никак не связаны с квантовой механикой, имхо, можно было поставить задачу в виде этого выражения, описав в одном абзаце, откуда оно получилось.

Например, для того, чтобы перевести кубит «1/√2|+> + 1/√2|->» в базис (|0>, |1>), необходимо амплитуду при символе «+» (которая равна 1/√2) умножить на выражение этого символа в базисе (|0>, |1>), в результате чего получается «½ |0> + ½ |1>». Ну а выражение символа |-> в том же базисе умножается на его амплитуду, в результате чего получается кубит «½ |0> — ½ |1>».

Тут точно все хорошо с коэффициентами?

Как видно, тут используется самый «грязный хак» — для того чтобы понять, какая бинарная операция используется в символьном выражении, мы вычисляем это выражение и сравниваем его с суммой, разностью и произведением операндов в этом выражении.

Может, я упустил какое-то доп. условие, но не может ли получиться ситуации, когда, например, сумма и произведение одинаковы?

Про косяк с (a-b)(a+b) уже писали.
Когда же когда? :) Правильно я понимаю, что нам стоит ждать online версию?
К сожалению, я не в курсе. В противном случае я все равно вряд ли был бы в праве говорить об этом здесь :)
Еще нет.

А по поводу веб-приложений: почему же не любит? Например, Lingvo и FineReader есть в онлайне (гуглятся на раз). Просто они не настолько распространены и известны, как их десктопные аналоги.
Если не читали, я думаю, вам будет интересно: habrahabr.ru/company/abbyy/blog/115226/
Читать с «Центральным ядром создаваемой технологии..» и далее.

Еще здесь, например: www.computerra.ru/663954/
Один день использования, два предложения, вроде бы таких не было в комментариях еще.
1) В режиме «Конструктор слов» можно последнюю букву ставить автоматически. Это чуть-чуть ускорит ввод и придаст солидности приложению.
2) Тематика «Неправильные глаголы». Нужно вводить все три формы? Это выглядит довольно жутко… Если бы хотя бы где-то помечалось, что нужно записать все три формы глагола…

Кстати, пришло обновление, сокращающее размер приложения в два раза.
Тоже стало любопытно. Давайте попробуем прикинуть.
Допустим мы хотим, чтобы объект падал с установившейся скоростью такой же, как на Земле. Тогда сила сопротивления воздуха на Марсе должна быть треть аналогичной на Земле (ускорение свободного падения на Марсе, согласно вики, примерно треть земного).
Навикипедим эту формулу. Я так понимаю, что эта формула с достаточной для нас точностью описывает модель. Сила сопротивления пропорциональна плотности среды. Плотность среды в 100 раз меньше земной (грубо). Сила сопротивления при такой же площади парашюта в 100 раз меньше. Сила также линейна по площади, поэтому чтобы получить силу в 3 раза меньше, нужно взять парашют в 33 раза больше. Площадь парашюта (если он круглый) растет квадратично по радиусу, поэтому радиус парашюта на Марсе должен быть в sqrt(33)=6 раз больше, чем на Земле. Судя по всему, это довольно большой радиус… Я нигде не ошибся в порядках?
Порядок создания глобальных объектов в С++ «немножко» определен: в одной единице трансляции (можно считать, что в одном cpp-файле) объекты инициализируются в порядке их появления в коде. Про деинициализацию сказано, что объекты деиниализируются в обратном порядке. Порядок инициализации объектов в разных единицах трансляции не определен. И это ужасно. Но самое ужасное в этом то, что, например, в gcc нет совершенно никакой диагностики при инициализации объекта a с использованием еще не инициализированного объекта b. И, насколько я знаю, нет никакого способа автоматически (средствами компилятора, например) эту проблему разрешить. Ручные способы, конечно, существуют: можно сносить все определения в один cpp-файл или оборачивать объекты в функции-геттеры. Но имхо, это отвратительно.

Кстати, может кто-нибудь знает что-нибудь по этому поводу? Может быть, есть хотя бы какие-нибудь платформенно-компиляторно-зависимые способы разрулить эту проблему (кстати, она называется static initialization order fiasco)?
Динамика по изломанному профилю — очень частная штука. Общая идея — сделаем профиль не прямым, а фигуристым. Из-за этого, естественно, меняется мощность профиля, функция переходов да и вообще логика. Но может получиться так, что общая асимптотика будет заметно лучше, чем при прямом профиле… Какая форма у фигуристого профиля и какие параметры этой формы — сильно зависит от задачи. В общем, штука не столько сложная, сколько очень частная и вполне можно было не найти внятного материала, ага…

Гугл, кстати, сходу выдает отличный пример: informatics.mccme.ru/moodle/mod/book/view.php?id=290&chapterid=78
Так и есть, изначально он с помощью своей программы хотел только забирать из дома университетскую почту. И, к счастью, решил не завазывать программу на тогда использовавшийся Minix, а сделать ее… самодостаточной. Потом к программе начали добавляться новые возможности, и в один момент он осознал, что написал что-то большее. А дальше долгая история со поддержкой POSIX, выбором лицензии и имени. В общем, читайте вышеупомянутую «Just for fun», она безумно интересна.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity