All streams
Search
Write a publication
Pull to refresh
115
0
Щекн-Итрч @sheknitrtch

User

Send message
Постоянное повторение «малыш» и взлетающие вверх щупальца цепи напомнили мне повесть «Малыш» Аркадия Натановича и Бориса Натановича Стругацких. Но это только мимолётное ощущение. Ролик понравился. Он цепляет и хочется ждать продолжения, искать ответы на возникающие вопросы, хочется понять о чём это. Именно таким и должен быть трейлер.
Меня всегда поражало, как небольшая норвежская компания умудряется делать браузер под Windows, Linux, MacOS, Android, iOS, Symbian OS, создавать облачные сервисы, для интеграции всего этого многообразия, писать почтовые сервисы и всё это сразу. Видимо многоплатформенность заложена глубоко в архитектуре браузера, что свидетельствовало бы о продуманной архитектуре.
В десятой версии разработчики Opera поменяли иконку: убрали тень, убрали блик, сделали проще и опрятнее (wiki). А в статье старая иконка.
Интересно, почему разработчики не перешли с SVN на Mercurial или GIT? Лень переучиваться, или сила привычки, или преимущества распределённых VCS для Miranda NG не актуальны?
Забавно наблюдать, как идеи из языка программирования Smalltalk-80 постепенно реализовываются в современных системах. В Smalltalk понятие единого адресного пространства и изменения классов и объектов на лету — это норма. И виртуальная машина при выключении сохраняет своё состояние и восстанавливает при следующем запуске. Интересно, когда продолжения начнут набирать популярность.
Когда Я встречаю слово «ихние», моя рука тянется к револьверу.
А почему в обзоре нет p4merge?
Я под Windows все SVN конфликты им разруливаю.
Хочу добавить по поводу оптимизации вызовов виртуальных методов. В 1993 году вышел язык программирования Self, виртуальная машина которого поддерживала JIT компиляцию (первый в мире JIT компилятор). Self — это динамически типизированный язык, основаный на прототипах. Язык очень динамический. Например, там даже доступ к полям объекта происходит только через посылку сообщений, плюс штатная возможность менять иерархию наследования объекта, плюс множественное наследование. В общем, в Self есть куча особенностей затрудняющих создание эффективной реализации VM.

В результате работ над Self-90 и Self-93 оказалось, что у того около 25% всех точек вызовов являются не мономорфными, а полиморфными. То есть, местами где значительное число сообщений посылаются объектам разных классов. Для ускорения работы таких случаев используется polimorphic inline cache (PIC). При этом, в скомпилированном машинном коде кешируется некоторое ограниченное (например 5) число найденных методов. Скомпилированный код при этом может выглядеть так:

if (object->class == #A) goto #A::m;
if (object->class == #B) goto #B::m;
goto #system_lookup;


Количество сравнений увеличивается только при необходимости, то есть для мономорфных точек вызова эффективность будет точно такая же, как при простом inline cache. Если список классов переполняется, то какой-то из наличных закешированных методов заменяется новым. То есть PIC значительно теряет в эффективности в мегаморфных точках вызова. Т.е. в точках где класс объектов меняется часто. Но, к счастью, таких мест незначительное количество. PIC перекочевал в современные виртуальные машины: Java, Visual Works Smalltalk, др.

Технологии PIC уже почти 20 лет. Так что говорить о «медленности» виртуальных вызовов уже не модно. Хороший JIT компилятор должен уметь оптимизировать такие вызовы на лету.
(по материалам smalltalk.ru)
Показательно то, что разработчики Google предпочли хостить этот проект на GitHub, а не на собственном Google Code.
Много слышал и читал хорошего об Intel Compiler. Вот только цена кусается: минимум $400 за компилятор Я пока выложить не готов. Если бы Intel выпускал бесплатную урезанную версию (как MSVC Express) или специальный компилятор для использования в OpenSource проектах, то с удовольствием поменял бы свой cl на icl.
Чтобы понять разницу, стоит открыть небольшое демо на сайте Sparrow и покликать на экране воображаемого iPhone (в Opera не работает). Разница с Windows Phone очевидна.
Насчёт оператора ?: в Python есть аналог ([1], PEP-308): A if B else C
Синтаксис выбрали в стиле Python: поменьше специальных символов и «Читаемость имеет значение».
Использование else вместе с циклами мне очень понравилось в движке шаблонов Jinja 2. Например:
<ul>
{% for user in users %}
    <li>{{ user.username|e }}</li>
{% else %}
    <li><em>no users found</em></li>
{% endfor %}
</ul>

Как по мне, гораздо читабельнее, что проверка длины списка users. А если в users хранится генератор, то без else сильно туго придётся.
Алан Кей не заслужил, чтобы его изобретение называли отстоем.
Извинитесь сейчас же!
Может стоит деанонимизировать плюсы и минусы в карму? Не стоит делать эту информацию публичной, но хотя бы получатель плюса/минуса имеет право знать, кто его друг/недруг. Сейчас когда хабрачеловек убавляет кому-нибудь карму, он это делает совершенно анонимно: минусуемый не знает откуда ему в спину летит топор. Может если у каждого плюса/минуса будет написан отправитель, то это поменяет отношение к карме. Ведь тогда нажимая на стрелку вниз, ты будешь осознавать, что можешь получить аналогичный минус/плюс в свою карму. Боюсь, что деанонимизация в таком виде может привести к битвам стенка на стенку, когда две группы идеологических противников будут дружно сливать карму пачками.
Думаю все активные пользователи OpenStreetMap должны поставить памятник Microsoft за то, что те позволяют использовать свои спутниковые снимки для отрисовки карт (в отличие от других корпораций добра). Если бы не снимки Bing, то половина Украины так и осталась бы в OSM бледным пятном с несколькими крупными трассами.
На скриншотах видно, на что способна технология QtQuick. Я уже задумался о том, чтобы переписать свои Qt проекты на новый лад.
Думаю благодаря использованию Qt версия под Linux выйдет уже скоро.
Лучше прочитать оригинал на нормальном английском языке. Переводчик не старался.
А ещё, для выделения подразделов предпочтительнее использовать теги <h2>, <h3>, <h4> вместо списка <ul> с одним элементом.
Меня больше пугает перспектива перехода Opera Link под крыло Facebook-а. Сейчас мои закладки, заметки, введённые адреса, службы поиска и заблокированные URL-ы, всё это синхронизируется через сервера Opera и меня это устраивает. Если Facebook затребует использовать их аккаунт для облачной синхронизации, Я серьёзно задумаюсь.
У меня русские MIME типы появились в реестре после установки QuickTime. И проблема проявляется не только в Django но и в SimpleHTTPServer, и при использовании других модулей.

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity