You are viewing alexey_rom

Previous 50 | Next 50

Oct. 30th, 2010

Ох, давно ничего не писал...

Нужно возвращаться потихоньку :)
++age;

Jul. 4th, 2010

Документация .Net

Странное у Microsoft понимание о нехватке памяти: If the file does not have a valid image format or if GDI+ does not support the pixel format of the file, this method throws an OutOfMemoryException exception.
Tags:

Jun. 21st, 2010

QuviQ выпустил бесплатную версию QuickCheck

Официальное объявление. Теперь нужно смотреть, достаточно ли там всё просто, чтобы просить студентов писать на нём тесты...

UPDATE: А только что объявили об очередной вариации на тему: http://github.com/manopapad/proper Кроме того, уже некоторое время назад появился http://github.com/krestenkrab/triq от автора Erjang (реализации Erlang на JVM).
Tags: ,

Jun. 20th, 2010

Реклама

Фанфик про то, что могло бы случиться, если бы Гарри Поттер вырос в семье профессора, имел мозги и умел ими пользоваться: Harry Potter and the Methods of Rationality.

UPD:
И ещё одна новелла Юдковски, которая в своё время меня впечатлила, необычная вариация на тему Первого контакта: Three Worlds Collide.

Jun. 19th, 2010

Представление списков в ФП

Возник такой вопрос. Как устроены cons-списки, большей части читающих известно :) А мне сейчас пригодилось бы неизменяемое представление списков в неленивом функциональном языке с хвостовой рекурсией, которое хорошо поддерживает две операции:
1) Конкатенацию (и как частный случай добавление элементов в начало и конец списка). Желательно хотя бы амортизированное O(1), O(log N) тоже сойдёт.
2) Итерацию от начала к концу. Без переполнения стека, независимо от того, как строился список.

Вот из-за второго условия простые conc-списки меня не устраивают, нужно какое-то балансирование. И чем проще, тем лучше.

Благодаря наличию хвостовой рекурсии направо деревья могут расти спокойно, главное, чтобы не росли налево.

Известные мне варианты:
1) Vector в Clojure и Scala. Хорошо добавляет элементы в конец, плохо в начало.
2) 2-3 finger tree (например, Data.Sequence в Haskell). Сложная схема балансирования и, как результат, великоваты постоянные множители у асимптотик (хотя жить можно).

UPDATE: Simple Confluently Persistent Catenable Lists и Purely Functional, Real-Time Deques with Catenation.

Jun. 12th, 2010

Опять об Фитча

Из принципа познаваемости следует существование разумной жизни во всех возможных мирах. Доказательство:

1 будет обозначать тождественную истину

K1 = "кто-то когда-то знает тождественно истинное утверждение". Это истинно в мире α тогда и только тогда, когда его истории есть разумная жизнь.

Kp → K1 ("если в мире кто-то что-то знает, то он знает тождественно истинное утверждение") примем за аксиому.

Рассиотрим такой мир α, где разумной жизни нет. Тогда в нём истинно

1) ¬K1
2) ◊K¬K1 (из 1 по принципу познаваемости)
В каком-то достижимом мире β верно
3) K¬K1 (из 2 по семантике возможных миров) То есть в этом мире есть кто-то, что-то знающий.
4) ¬K1 (из 3 по корректности знания)
5) K1 (из 3 по аксиоме Kp → K1)

Пришли к противоречию. По-моему, это позволяет локализовать проблему вполне чётко: пункт 2 должен говорить, что в мире β мы знаем, что в α нет разумной жизни; а вместо этого получается, что мы знаем, что её нет в β.

Jun. 6th, 2010

О школьном бюджете

Все, наверное, видели копипасту про то, что скоро "в школах останется три бесплатных урока: математика, русский и Закон Божий". Во что пока этот закон выливается на практике, можно прочитать в ЖЖ у xelluin, которая как раз работает бухгалтером в школе-интернате для одарённых детей.

May. 27th, 2010

От Быкова не ожидал

«Надеюсь, вы понимаете, что ничего этого не было? Ведь это бред. Какая в жопу обезьяна? У дарвинизма нет никаких доказательств. Переходного звена нет! Ничего нет!»

UPD: А вот высказывания самого Быкова.

May. 24th, 2010

Последние лабораторные по ФЛП

Домашние задания:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/homework6.txt
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/homework7.txt

Файлы к лабораторной 6:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/control.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/cut.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/database.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/difflists.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/negation.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/op.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/search.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/second_order.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/stack.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/var_nonvar.pl

Файлы к лабораторной 7:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/basic_english.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rec_bad.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rec.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_pronouns_bad.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_pronouns.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_parse_trees.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rules_lexicon.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/abc.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/ast.pl

Лабораторная 7 практически целиком по Learn Prolog Now, лекции 7 и 8, только с той разницей, что разностные списки уже были.

May. 16th, 2010

Опрос по языкам программирования

David R. MacIver проводит большой опрос насчёт того, какой язык лучше для каких целей. Думаю, найдутся те, кому будет интересно поучаствовать.

UPDATE: В общем, людям не понравилось. Но тем не менее, ответов набралось достаточно много, и результаты уже можно посмотреть.

Apr. 19th, 2010

5 лабораторная по ФЛП

Слайды
Домашняя работа

Apr. 15th, 2010

Степанов в Москве!

Степанов (один из двух главных авторов STL, автор замечательной книги Elements of Programming) проведёт в офисе Яндекса два доклада: 19 и 20 апреля.

К большому сожалению, на первый я не успеваю :( А вот на 20 уже записался.

Apr. 10th, 2010

(no subject)

Несколько интересных багов в Java: http://blog.cr0.org/2010/04/javacalypse.html (особенно радует автоматическая установка старой версии JRE). Кто хорошо в этих вопросах разбирается? Может быть, автор ошибается и всё не так страшно...
Tags:

Apr. 8th, 2010

Здоровый образ жизни

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

По его журналу ясно, что он много об этих вопросах знает и охотно делится своими знаниями. Так что я для себя решил, что стоит попробовать.

Apr. 1st, 2010

Две ссылки

1. fregimus перевёл «Плач математика» Локхарта.
2. Обращение к президенту РФ насчёт орфанных лекарственных средств

Mar. 30th, 2010

4 лабораторная по ФЛП

Переходим к Prolog.

lab4.txt
homework4.txt
animals.pl
family.pl

Mar. 23rd, 2010

Контрпример Гетье в реальной жизни (ну, почти)

Источник
Как известно, контрпримеры Гетье демонстрируют, с точки зрения многих философов, что истинное обоснованное мнение ещё не обязательно является знанием (хотя эти условия необходимы).

"Философия философии", Уильямсон, стр. 192:
Чтобы лучше донести мысль, я иногда создавал контрпримеры Гетье для моих слушателей. Например, один раз я начал лекцию с извинения за то, что не приготовил слайды в PowerPoint. Я объяснил, что единственный раз, когда я сделал презентацию в PowerPoint, лекция была совершенно неудачной. У слушателей не было причин подвергать сомнению утверждение, так меня дискредитирующее; так что благодаря этому заявлению они приобрели обоснованное мнение, что единственный раз, когда я сделал презентацию в PowerPoint, лекция была совершенно неудачной. Отсюда они корректно заключили, что я ни разу не провёл успешной лекции с использованием PowerPoint. Это их мнение было истинно, но только потому, что я вообще никогда не использовал PowerPoint (и не собираюсь в будущем). Моё утверждение было чистой ложью.

Mar. 22nd, 2010

Третья лабораторная по ФЛП

И последняя по части ФП, со следующей недели начинается Prolog. Текст очень короткий, только по list comprehensions, поскольку про типы я рассказывал на лекции.

Разработка
Задание на лабораторную
streams.erl
diff_list.erl

Mar. 21st, 2010

Теренс Тао о вычислительной теории множеств

http://terrytao.wordpress.com/2010/03/19/a-computational-perspective-on-set-theory/

При этом он допускает счётно-бесконечные вычислительные ресурсы.

Правильно ли я понимаю, что это единственное отличие от конструктивизма и если его убрать, получим хорошую конструктивную теорию множеств?

Mar. 18th, 2010

BitC восстал из могилы

Почти год назад автор BitC закончил работу над проектом и ушёл работать в Microsoft. Недавно он сообщил, что уходит из MS и возвращается к BitC. (Вместо упомянутого в сообщении CLR он сейчас планирует перейти на LLVM.)
Tags: ,

Структура налогов в РФ

в двух графиках.

http://martyshin.livejournal.com/125039.html

Mar. 17th, 2010

Моё любимое решение парадокса неожиданной казни

Формулировка парадокса
Однажды в воскресенье начальник тюрьмы вызвал преступника, приговорённого к казни, и сообщил ему:

* Вас казнят на следующей неделе в полдень.
* День казни станет для вас сюрпризом, вы узнаете о нем только когда палач в полдень войдет к вам в камеру.

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

На следующей неделе, палач постучал в его дверь в полдень в среду — это было для него полной неожиданностью. Все, что начальник тюрьмы сказал, осуществилось. Где недостаток в рассуждении заключённого?

Одно из решений

Знание мы будем понимать стандартно: «заключённый знает p» <=> «p есть истинное и обоснованное мнение заключённого».

Обозначим s = "приговор будет в точности исполнен", Ks = "заключённый знает, что s"

Заметьте, что шаг: «В воскресенье меня казнить не могут! Ведь тогда уже в полдень субботы я буду знать об этом.» требует истинности Ks. В самом деле, если заключённый не уверен в исполнении приговора, и его не казнили до полудня субботы, то у него нет оснований полагать, что его казнят в воскресенье, а не (например) в следующий понедельник или вечером субботы. Так что строго говоря, доказано только Ks → ¬s. Из истинности знания мы также имеем Ks → s и Ks → (s ∧ ¬s).

Но само по себе это не противоречие; для противоречия нужно ещё, чтобы Ks было истинно. Это и призвано обеспечить условие «Начальник тюрьмы был честнейшим человеком и никогда не врал.» Но мы видим, что оно эту работу не выполняет: ведь заключённый в результате приходит к выводу, что приговор привести в исполнение нельзя, то есть что начальник соврал!

Значит:
1) приговор может быть приведён в исполнение
2) при этом заключённый не знает, что приговор будет приведён в исполнение

Mar. 14th, 2010

Структурная теория множеств

SEAR (Sets, elements and relations) По-моему, симпатично и достаточно практично (для "нормальной" математики). Мне больше нравится приведённый в конце вариант, где в базовые понятия включены пары и подмножества вместо отношений.

ECTS (Elementary Theory of the Category of Sets)

Mar. 11th, 2010

Откровения Guido van Rossum о функциональных языках

Цитата из Masterminds of Programming:
Python probably has the reputation of supporting functional programming based on the inclusion of lambda, map, filter and reduce in the language, but in my eyes these are just syntactic sugar, and not the fundamental building blocks that they are in functional languages. The more fundamental property that Python shares with Lisp (not a functional language either!) is that functions are first-class objects, and can be passed around like any other object. This, combined with nested scopes and a generally Lisp-like approach to function state, makes it possible to easily implement concepts that superficially resemble concepts from functional languages, like currying, map, and reduce. The primitive operators that are necessary to implement those concepts are built into Python, where in functional languages, those concepts are the primitive operations. You can write reduce() in a few lines of Python. Not so in a functional language.

Перевод:
Считается, что Python поддерживает функциональное программирование, скорее всего из-за включения lambda, map, filter и reduce в язык. Но с моей точки зрения это просто синтаксический сахар, а не основные строительные блоки, которыми они являются в функциональных языках. Куда более фундаментальным свойством, общим для Python и Lisp (который тоже не функциональный язык!), является то, что функции — объекты первого класса, и могут передаваться так же, как и любой другой объект. Это, в сочетании с вложенными областями видимости и в общем близким к Lisp'у подходом к состоянию функций, позволяет легко реализовать возможности, поверхностно напоминающие о таких возможностях функциональных языков, как карринг, map, и reduce. В Python встроены примитивные конструкции, необходимые для реализации этих понятий; а вот в функциональных языках они сами и являются примитивными конструкциями. В Python достаточно нескольких строк, чтобы написать reduce(). В функциональных языках это не так.

Mar. 6th, 2010

Pex

Они это сделали! Я и не надеялся уже, но Pex будет доступен в VS 2010 (и 2008) Pro, а не только в Team Suite.

Для тех, кто не встречался с Pex: это дальний родственник QuickCheck для .Net (в первую очередь для C#). Дальний потому, что аргументы, на которых проверяются свойства, генерируются не случайно, а с помощью анализа тестируемого кода и попытки подобрать значения так, чтобы пройти по всем возможным потокам управления, а потом сохраняются в виде обычных юнит-тестов.

Теперь ещё бы статическую проверку контрактов в VS Pro и будет совсем замечательно.

Mar. 2nd, 2010

Уголовное преследование за рецензию

О таком я раньше не слышал. Доктор Кальво-Голлер за эту рецензию подала в суд на клевету, даже не на рецензента, а на главного редактора сайта, на котором она опубликована. Причём подала во Франции. По законам которой все обвинения в клевете рассматриваются в Уголовном суде.

Источники:
http://languagelog.ldc.upenn.edu/nll/?p=2147
http://opiniojuris.org/2010/02/12/criminal-libel-for-publishing-a-critical-book-review-seriously/

Мои Shared items в Google Reader

Благодаря Google Buzz вспомнил об их существовании и наличии в FeedDemon кнопки share.

Собственно URL: http://www.google.com/reader/shared/05538518460582448118

Прочитанное

Дочитал JavaScript: The Good Parts. Книга неплохая и короткая (а повторений всё равно хватает :( ) Насчёт недостатков во многом могу согласиться с этой рецензией, но я всё-таки оценил на 4, а не 3.

Feb. 28th, 2010

Mathematics made difficult

Раньше слышал об этой книге, но не искал. Прочитав предисловие, уже понял, что зря.

Цитаты (взяты с reddit):

[Dedication] "To Clement V. Durell, M.A., without whom this book would not have been necessary"
[p.10] "Mathematicians always strive to confuse their audiences; where there is no confusion there is no prestige. Mathematics is prestidigitation."
He manages to pose several confusing questions about even the most basic facts. Leave alone "Question 4. Whether 1 is a number?", who can ever answer ""Question 5. Whether one should count with the same numbers he adds with, up to isomorphism?" :-)
[p.23] "This section is about addition. The fact that the reader has been told this does not necessarily mean that he knows what the section is about, at all. He still has to know what addition is, and that he may not yet know. It is the author's fond hope that he may not even know it after he has read the whole section."
[p.28] "With a few brackets it is easy enough to see that 5+4 is 9. What is not easy to see is that 5+4 is not 6."
[p.40] He defines a cancellable number x as one for which x+p = x+q never holds unless p=q. He first proves that if x and y are cancellable so is x+y, then with great care proves that 1 is cancellable, and therefore all numbers are cancellable.
[p.44–48]. In just a few pages, he gives a category-theoretic construction of the group of integers. Surely, this has never been done before.
[p.25] (On mathematical "beliefs".) "Like the world of a science-fiction story, a system of beliefs need not be highly credible—it may be as wild as you like, so long as it is not self-contradictory—and it should lead to some interesting difficulties, some of which should, in the end, be resolved."
[p.37] "unfortunately, there is a flaw in the reasoning. [..] to say that each of two numbers cannot be bigger than the other is to repeat the statement that is to be proved. It is not correct in logic to prove something by saying it over again; that only works in politics, and even there it is usually considered desirable to repeat the proposition hundreds of times before considering it as definitely established."
[Starred exercise] "Show that 17 × 17 = 289. Generalise this result."

Ссылка на DJVU версию (1.7 MB)
Ссылка на PDF версию (24.3 MB)

Feb. 27th, 2010

Курс ФЛП, вторая лабораторная

Разработка
Задание

Файлы с кодом:
lists2.erl
control.erl
file_io.erl

Feb. 26th, 2010

Курс по языкам программирования от Ralf Lämmel

Ссылка с более подробным описанием

Материалы

Coverage
- Parsing and interpretation in Prolog
- Basics of small-step and big-step semantics
- Basics of untyped and typed lambda calculi
- Introduction to Haskell
- Basics of denotational semantics
- Denotational semantics in Haskell
- Basics of static program analysis
- Static program analysis in Haskell
- OO programming in Haskell
- The Expression Problem
- Basics of Constraint-Logic Programming
- Basics of Process Algebra (CCS)
- ... a few more specialized lectures

Characteristics
- English as the course language
- Slides, videos, exercises available online publicly
- 42 hours (45mins each) of lectures over 4 months
- 12 programming-oriented, interactive labs
- Transparent scheme for midterm and final exam
- Heavy reuse of material from other courses
- Use of Twitter for notification and aggregation

SQLite на GPU

На некоторых запросах SELECT быстрее в 70 раз.

Обсуждение на Reddit, с участием разработчика.

Feb. 25th, 2010

Mendeley

Новая версия Mendeley рулит.
1) Улучшили результаты поиска по названию в Google Scholar (хотя всё ещё не идеально).
2) Добавлять файлы любого формата теперь можно так же просто, как pdf. Правда, метаинформацию не извлекает, но см. пункт 1.

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

Feb. 23rd, 2010

Жизнь коротка, а искусство вечно

И тут исходный смысл поговорки очень отличается от общепринятого.

Feb. 22nd, 2010

Закон сохранения энергии

не выполняется в общей теории относительности. Не знаю, как для вас, а для меня это новость.

Feb. 21st, 2010

NextPlease (самореклама)

Понял, что забыл написать об этом в ЖЖ.

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

Проблема с ним была в том, что автор последнюю версию выпустил два года назад и она была совместима только с FireFox 3.0. Стандартный метод "изменить maxVersion в install.rdf" давал совместимость с FF 3.5, а вот с FF 3.6 не работал.

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

Feb. 20th, 2010

Один из самых тёплых январей в истории

Пока мы вместе с Европой и США мёрзли, в мире было вот что:

Источник: State of the Climate, Global Analysis, January 2010

Планы Oracle по развитию JDK

Две статьи:
http://itfreak.ru/news/bright-future-of-java/
http://java.dzone.com/articles/mark-reinhold-talks-about-jdk (на англ.)
Вторую я перевёл: http://habrahabr.ru/blogs/java/85034/

Я ожидал худшего, так что приятно удивлён.
Tags:

Feb. 17th, 2010

Skype

Купил гарнитуру и присоединился к 21-му веку. Имя в Скайпе: alexeyvromanov

Feb. 11th, 2010

foldl and foldr considered slightly harmful

Guy Steele про параллелизацию функциональных программ: слайды (в pdf), видео
Tags:

Feb. 10th, 2010

Не только у нас хватает идиотов

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

Плата за регистрацию: 5$.
Tags:

Feb. 9th, 2010

Курс ФЛП

Уже третий год в весеннем семестре я веду курс "Функциональное и логическое программирование" у двух групп. У нас будет 7 лекций и 7 лабораторных (по две пары). (В одной группе, возможно, 6).

Выбор языков:
По ЛП, понятно, Пролог. По ФП Эрланг ради простоты и синтаксической близости с Прологом.

Мои планы:
3 занятия по ФП, 4 по ЛП

Лекция 1. Преимущества неизменяемых данных, списки в ФП, хвостовая vs нехвостовая рекурсия
Лабораторная 1. Знакомство с Эрлангом, написание первых функций.
Лекция 2. Функции как значения. Напомнить лямбда-исчисление. Замыкания. Сравнить с указателями на функции в C и поговорить о ситуации в других языках.
Лабораторная 2. ФВП. Применение для работы со списками и как управляющих конструкций.
Лекция 3. Алгебраические типы данных. Если успею -- немного о выводе типов. Ленивость.
Лабораторная 3. List comprehensions. Представление сложных данных. Пример: деревья.

По ЛП куда меньше теории, которая не связана непосредственно с Прологом.

Лекция 4. Идея логического программирования. Синтаксис Пролога.
Лабораторная 4. Знакомство с Прологом. Простая БД. Написание правил и запросов.
Лекция 5. Арифметика. Операторы.
Лабораторная 5. Работа со списками. Представление сложных данных. Деревья.
Лекция и лабораторная 6. Алгоритм унификации и поиска с откатом. Порядок клозов в правилах. Сечения (зелёные и красные). Отрицание.
Если успеваю: Работа со свободными переменными. Разностные списки.
Лекция и лабораторная 7. Грамматики (DCG). Код как данные.

Ваше мнение? Есть ли что-то, о чём обязательно нужно рассказать, а у меня этого нет? Есть ли что-то явно лишнее?

Кроме того, выложил на Dropbox материал и задание к первой лабораторной. Может быть, кому-нибудь будет интересно. Те же вопросы, что по общему плану занятий.

Feb. 6th, 2010

Кто-нибудь разбирается в расширениях FireFox?

У меня возникла ситуация, совершенно невозможная, по моему пониманию. Описал её на форуме Mozilla Add-ons, но спрошу ещё и тут.

Есть два скрипта. Один -- главный, а другой для диалога опций.

Первый создаёт глобальный объект с именем "nextplease". Судя по всему, работает правильно. Ошибок в консоли не пояляется, "alert(typeOf(nextplease))" в Execute JS выдаёт "object". Все кнопки и клавиши работают как надо и т.д.

Беда в том, что второй скрипт его в упор не видит. Сейчас там стоит:
// $Id: nextpleaseOptions.js,v 1.16 2007/07/21 00:15:11 howie Exp $

alert(typeof(nextplease));

if (nextplease === undefined) {alert("nextplease is undefined!");}
if (nextplease && nextplease.DEBUG) {alert("nextplease is defined");}

Насколько я понимаю, nextplease === undefined -- правильный способ проверки на undefined; по крайней мере, в книге Крокфорда сказано именно так.

Так вот, при открытии диалога я вижу alert с "undefined". А "nextplease is undefined!" не вижу; вместо него в консоли появляются ошибки:

Error: nextplease is not defined
Source file: chrome://nextplease/content/nextpleaseOptions.js
Line: 5

Error: nextplease is not defined
Source file: chrome://nextplease/content/nextpleaseOptions.xul
Line: 1

Наконец, если я выполняю typeof(nextplease) и nextplease === undefined в консоли, а не в Execute JS, то я получаю undefined и Error: nextplease is not defined соответственно.

Есть ли у кого-нибудь объяснение этим фактам и/или идеи, что с этим можно сделать?

Feb. 5th, 2010

Интервью президента РАН

Источник
– Юрий Сергеевич, прокомментируйте, пожалуйста, открытое письмо ученых о состоянии российской науки.
– Какое письмо? Я его не видел. О чем там? Не знаю, не читал.

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

– А можете привести примеры?
– Конечно могу. Это, например, «Труды Института математики и механики» в Екатеринбурге. Или труды по математике Санкт-Петербургского или Московского университетов. Они не переиздаются на других языках.

<...>

<...> А чтобы поднимать наши журналы, нужно писать в них хорошие статьи, а не посылать их за границу.

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

via posic

Jan. 31st, 2010

Новая книга про реализацию компилятора для Haskell

Один из авторов проекта UHC написал книгу, описывающую их реализацию.
Tags: ,

Jan. 30th, 2010

Везёт мне в последнее время на журналы историков

cherniaev Легенды и сказки Киевской Руси
nikolamsu Национально-сознательный мем, Пересекающиеся пространства и многое другое
furia_krucha История истории: is Earth round and with a passage at North-West? и Анализ историографии: are Orbits of Discourse dense on Plateaux of P(h)alestine?
antoin Тюдоры: уголовное право и смертная казнь, Дело о партнёрстве

Вышел Tidier!

Это инструмент для автоматического рефакторинга кода на Erlang. Статьи меня сильно заинтересовали, а тут ещё оказалось, что авторы сделали бесплатный веб-интерфейс. Правда, он сохраняет код и применённые преобразования — не нравится, не пользуйтесь или покупайте лицензию.
Tags: ,

Jan. 24th, 2010

И бритва Оккама тоже...

не имеет отношения к Оккаму.

Jan. 23rd, 2010

Новая Хронология

Для начала должен сказать, что лет 12 назад я искренне верил в заключения Фоменко и Носовского. Потом думал, что в их рассуждениях есть здравое зерно, даже если они ошибаются в деталях. Со временем удалось разобраться в реальной ситуации.

Перед Новым Годом я набрёл на подробный разбор книги «Основания истории» А.Т.Фоменко (очередной версии Новой Хронологии). Как и сказано в шапке, это только выжимка из большой ветки форума kasparovchess.crestbook.com, так что там не хватает аргументации и вопросов сторонников НХ. Одним из ни всё-таки не могу не поделиться:
Прошу мнения профессионального историка, не в поддержку Хвоменки, как говорила моя бабушка, а во имя истины. Я тут залез в старый советский справочник и немножко завял. Есть вопросы:

1. Почему, начиная с Греко-персидской войны 500-449 до н.э. и до 3-ей Пунической 149-146 до н.э. все войны идут одна за другой, но потом, до начала Столетней войны 1337 - 1453 н.э. никаких войн вобще не было? Означает ли это, что все в этот период вдруг стали "братьями во Христе", или doch Фоменко - прав, что минимум 1000 лет истории Скалигер-Петавиус, по просьбе папашки Грыгория, приписали?

...

дословно переписал со справочника. "Альфа о Омега", Таллин, Валгу 1988, не зажмотничал в свое время аж 3 руб.! Круто, или не, но войн никаких не отмечено. То, что Никейский собор был, не должно вызывать никиаких сомнений, но у меня вызывает.:) Никто, до сих пор не доказал, где находится Никея, и почему, собственно, в то время надо было проводить собор в "Никее", а не в Константинополе? Он, что, был подпольный? То, что Никея находилась в Малой Азии - умозаключение некоторых. На карте Балкан 1849 года есть одна Никея (Nice) в Тракии, на притоке Хебруса, а так, Никея и сегодняшняя Ницца - очень даже... Вопрос не в этом. Вопрос в том, что (пусть даже) в 325-году Юлианский и Григорианский не имели разницы, она накопилась лишь к 1582-ому году и составила 10 дней (теперь уже 13). Chich, мне просто некого больше спросить, я живу в Германии, а это - страна непуганных дураков и браконьеров, в смысле истории. Немцев так запугали евреи, после второй мировой, что никто не высовывается. Здесь даже есть закон, по которому карается "усомнение в факте холокоста", несмотря на конституцию, где каждому дано неотъемлимое право высказывать публично свое мнение...


Конечно, учёные много писали про НХ, но все статьи, которые я видел раньше, посвящены частным вопросам. Можно, прочитав статью Зализняка про лингвистику, сказать: "Зато НХ доказывается астрономией". Прочитав статью по астрономии сказать: "Зато историки пользуются радиоуглеродными и дендрологическими датировками, а Фоменко показывает, почему этого делать нельзя". И так далее. Этот разбор таких возможностей, по-моему, не оставляет.

Jan. 12th, 2010

Цитата

Читая блог Ayende Rahien'а, наткнулся на замечательную цитату Ральфа Уолдо Эмерсона, равно применимую в математике и в программировании:
Методов может быть миллион и более, а принципов мало. Понимающий принципы может выбрать подходящие методы; а тот, кто пробует методы и не думает о принципах, наверняка попадёт в беду.

Оригинал:
As to the methods there may be a million and then some, but principles are few. The man who grasps principles can successfully select his own methods. The man who tries methods, ignoring principles, is sure to have trouble.

Беда в том, что на семинарах требуют объяснять именно методы :( и как с этим бороться, неясно.

Previous 50 | Next 50

October 2014

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 

Page Summary

Syndicate

RSS Atom
Powered by LiveJournal.com