• XP vs Vista: что быстрее на топовом железе?

      Сегодня проскочил занимательный топик, в комментариях к которому появлялись утверждения, что на топовых конфигурациях Vista работает быстрее XP.
      Пару месяцев назад я задавался тем же вопросом — быстрее ли? Был проведён эксперимент, сравнивались XP с последними на тот момент обновлениями, и Vista с только что вышедшим SP1.
      Конфигурация, на которой это всё работало: Gygabyte P35-DS3P/Intel Core2 Quad Q6600@3000/4Gb DDR2 800/2xST3500630AS/GF 8600GT. Драйвера на момент тестирования также были самые свежие.
      Тест публиковался в моём ЖЖ, так вышло, что он разбит на три с половиной части:
      Часть первая: тесты одно- и многопоточных приложений.
      Часть вторая: скорость копирования.
      Часть третья: синтетический бенчмарк, влияние Aero на производительность.
      Часть третья с половиной. Работа с flash-накопителем.
      Результаты получились неожиданные, если не сказать — слегка шокирующие. Их реальность, по возможности, проиллюстрирована.
      Если кратко — в приложениях, производящих вычисления, Vista показала худшие результаты. Где-то — в пределах погрешности измерения, где-то — на вполне ощутимый процент. Но работа с данными в Vista проходила быстрее, и быстрее настолько, что меня это порядком удивило. Видимо, Vista эффективнее использует память… впрочем, интересно ознакомиться и с другими мнениями.
    • Удивительная Курта

      • Translation
      Curta

      Возможно, ни один калькулятор любого типа не вызывал столько дискуссий, сколько Курта. Хотя об этом невероятном устройстве и его создателе может быть написана целая книга, в этой статье приведена лишь небольшая часть информации.
      Читать дальше →
    • Мотивация, жизнь и работа, опять о ней

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

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

        Месяца три назад я стал искать решение и, кажется, оно уже было у меня в голове. С удовольствием расскажу об этом.

        Читать дальше →
      • Кроссбраузерная кастомизация системного скроллбара



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

          Под катом можно узнать, как в ближайшее время будет работать скролл в 2ГИС Онлайн.
          Подробности
        • Диаграммы и графики: осмысляя Тафти

            По работе мне периодически приходится визуализировать численные данные — в виде таблиц, диаграмм или графиков. Из последнего прочитанного по теме наиболее интересной показалась известная книга Тафти The Visual Display of Quantitative Information. Я решил сделать из неё краткие выписки по относящимся к моим задачам вопросам. Ключевое слово здесь — краткие. Максимум полезной информации на минимум текста (даже стиль изложения будет подчёркнуто лапидарным). Дополнительные сведения и собственные мысли буду скрывать под спойлер. Надеюсь, мой конспект будет полезен хабрасообществу; предлагаю также поделиться своими наработками и полезными ссылками.
            Читать дальше →
          • Сколково на вашем столе (или история о том, как я делал электронное устройство с нуля)

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

              А пока, обо всем по порядку…

              Prague Electronic Tour Guide. Клубникина.
              Катя Клубникина изображает счастливого туриста с первым макетом устройства на шее.

              Часть первая. Предыстория.



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

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

              И всё бы ничего, как вдруг...
            • Несколько полезных сервисов. Продолжение

                Продолжая тему предыдущего поста Несколько полезных сервисов, хочу поделиться новыми ссылками.

                Экспорт контента
                • rss-script.ru – сервис для вставки содержимого RSS-ленты на сайт. Для его работы необходимо лишь сгенерировать скрипт на сайте и вставить его себе. Есть несколько настроек, позволяющих изменить вид содержимого
                • twitterfeed.com позволяет постить содержимое RSS-ленты в Twitter, Facebook и LinkedIn. Достаточно простой сервис, нет дополнительных настроек, но есть счётчик кликов
                • ifttt.com – многофункциональный сервис, позволяющий связывать различные аккаунты (описание)

                Песочницы
                К уже названным ранее cssdesk.com и jsfiddle.net можно добавить dabblet.com, jsbin.com (добавил Jekyll). Также есть песочница для SQL – www.sqlfiddle.com (добавил volinrok).

                Шаринг фрагментами текста/кода
                Для того, чтобы поделиться фрагментом текста или кода, можно использовать всем известный pastebin.com, а можно воспользоваться его альтернативами:
                Мне больше всех нравится Gist на GitHub. Во-первых, все текстовые фрагменты привязываются к вашему аккаунту; во-вторых, можно создавать несколько связанных Gist'ов; и в третьих, есть возможность комментирования.
                Читать дальше →
              • Несколько полезных сервисов

                  Хочу поделиться ссылками на несколько полезных сервисов. Некоторые из них помогут сэкономить время, другие — сделают за Вас незнакомую/нелюбимую работу. Список разбит по категориям, чтобы было легче ориентироваться.

                  Сервисы опросов
                  userreport.com (добавил Romanych)
                  simpoll.ru
                  webanketa.com (добавил mihass)

                  Кнопки постинга в социальные сети
                  Кнопка от Яндекса
                  addthis.com (добавил UksusoFF)
                  share42.com
                  Читать дальше →
                • Как один мужик MES-систему купить хотел

                    Это было примерно месяц назад. К нам в офис приехал Василий. Он топ-менеджер компании, производящей оборудование для театральных сцен. С порога заявил, что ему нужна MES-система или APS-система и что он еще не до конца решил, какая из них. «Почему именно MES-система?» — спросил я.

                    — Я уже несколько месяцев занимаюсь изучением вопроса, связанного с решением наших производственных проблем. Встречался с представителями нескольких компаний, производящих MES и APS системы. Они сказали, что их системы как раз и решают наши проблемы. Причем мне сказали, что только такие системы и способны решить наши проблемы. У вас тоже MES система?

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

                    Читать дальше →
                  • The Foundry Nuke. Введение



                      большое разрешение — по клику

                      Снова здравствуй, Хабр!

                      В этом посте я бы хотел рассказать о великолепной программе под названием Nuke от компании The Foundry, которая уже затрагивалась вот в этом посте, но вызвала много вопросов читателей, далеких от 3д графики в общем, и от 3д-композитинга в частности.

                      Если описать в двух предложениях, то Нюк является мировым стандартом в композитинге и пост-обработке, и был одним из ключевых инструментов в подавляющем большинстве голливудских фильмов с бюджетом, отличным от кустарного.
                      Да что вообще говорить — Аватар, Трон: Наследие, Трансформеры, Watchmen, Властелины Колец, и большинство остальных голливудских блокбастеров были сделаны именно в Нюке.

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

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

                      В процессе написания поста я понял, что все, что я хотел бы описать, просто не уместится ни в один пост, ни в цикл статей. Хоть пост и получился длинным, но это вершина айсберга — в нем описывается чуть менее 0.01% всего, чем хочется поделиться.

                      Интересно?
                      Добро пожаловать под кат! Осторожно! Много трафика, Джобса, чайников, и надкусанных НЛО.

                      Читать дальше →
                    • HowTo cook custom Firefox msi for enterprise deployment

                      Официальная позиция mozilla по поводу msi дистрибутивов выражена в статье. Рекомендуется делать обертки FirefoxSetup.exe в msi, а так же запрещено любое распространение не оригинальных дистрибутивов. Но при использовании оберток теряются все плюсы msi — автогенерация отката вносимых изменений, self-repair, сложнее управлять обновлением, удалением и патчами. В багтрекере мозиллы багу #231062 Provide Firefox MSI package уже 7 лет! При этом у Chrome поддержка msi и GPO встроенная. Немудрено, что и для ФФ появилась сторонняя сборка от компании FrontMotion Firefox Community Edition, которая имеет свои особенности:
                      [+] Применяет политики, установленные через FirefoxAdm, без помощи доп. расширений
                      [+] Имеет свои adm/admx расширения для консоли GPP
                      [+] Предустановлены плагины Flash, IETab
                      [-] Браузер перекомпилирован, и не факт, что при этом в него не добавили новых возможностей кроме GPO)
                      [-] Используется нестандартное название ярлыков (Frontmotion Firefox) на столе и в меню Пуск. (что еще можно обойти, через transforms для msi)
                      [-] Используется другая иконка (от nightly ветки) — черная, что критично для юзеров, которые ищут рыжую лису.
                      [-] Не применяются автоматические обновления, т.к. сборка своя. Канал обновлений выставлен на default (спец. канал, где нет обновлений)

                      Если минусы вас не устраивают — предлагается воспользоваться платной службой для сборки пакетов. Я же опишу как собрать пакет самому и избавиться от вышеперечисленных минусов.
                      Читать дальше →
                    • Программирование в облаке: Небольшой обзор Онлайн-IDE

                      • Translation
                      Похоже, что всё сегодня переходит в «облака», которые являются туманным термин для определения программных приложений и хранилищ данных, размещенных на удаленных серверах где-то далеко по всему Интернету. Так что, если всё наше ПО переходит на облака, то почему бы не перейти инструментам, используемым для создания этого ПО? Ну, а некоторые инструменты, есть там прямо сейчас. Черт, даже GitHub недавно добавил базовые возможности редактирования. В этой статье мы рассмотрим некоторые многообещающие Онлайн-IDE.
                      Читать дальше →
                    • Старинный телефон на базе Android

                        Введение

                        Однажды я смотрел какой-то старый фильм. Герой воспользовался телефоном: снял трубку, попросил оператора набрать номер друга и стал беседовать. Мне очень понравилась простота, с которой был сделан звонок, и внешний вид телефона. Я решил собрать такой телефон сам. Поднимаешь трубку, говоришь, кому позвонить, голос распознаётся, имя отыскивается в адресной книжке, и совершается VoIP звонок.

                        В этом посте я расскажу про детали проекта: про устройство на базе Android, про IOIO Board, про вырезание по дереву и по пластику.
                        Читать дальше →
                      • Монады с точки зрения теории категорий

                        • Translation

                        Введение

                        Кажется, монады в программировании стали загадкой века. И для этого есть две причины:
                        • недостаточное знание теории категорий;
                        • многие авторы стараюстся не упоминать категории вообще.
                        Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель.

                        Мы начнём с простого введения в категории и функторы, затем дадим определение монады, приведём простые примеры монад в категориях и в конце приведём монадическую терминологию используемую в языках программирования.

                        Я уверен, что монады с точки зрения категорий почти элементарны.

                        Содержание

                        1. Категория
                        2. Функтор
                        3. Естественное преобразование
                        4. Монада
                        5. Монады исключения и состояния
                        6. Монады в программировании
                        7. Ссылки
                        Читать дальше →
                      • Java Logging: история кошмара

                          Вступление


                          Тернист и извилист путь Java-платформы к правильному способу записи строчек в лог-файлы. История logging в Java довольно познавательна в плане изучения особенностей Open Source, в том числе его взаимодействия с корпорациями и единичными программистами. Я собираюсь рассказать столько, сколько возможно, об истории развития Java logging, а также о том, к чему все пришло и как жить дальше.
                          Вперед и с песней!
                        • Вредоносное ПО для GNU/Linux и борьба с ним

                            Читаю на хабре вот эту тему:«Trojan.winlock начал распространяться через ЖЖ». В принципе ничего принципиально нового, и конечно, как и всегда, в комментариях полно сообщений типа «А в linux/mac/freebsd/plan9 такого нет, а пользователи Windows ССЗБ», с которых начинаются небольшие холивары. Вот, хочу начать новый холивар поделиться мыслями и узнать кто что думает, узнать насколько возможно в GNU/Linux существование вредоносного ПО и подумать что с этим делать.
                            Читать дальше →
                          • Penisland, или как написать спеллчекер

                              Есть хорошая статья Питера Норвига, в которой он рассказывает как написать спеллчекер в 20 строк кода. В этой статье он показывает как поисковые системы могут исправлять ошибки в запросах. И делает это довольно элегантно. Однако, у его подхода есть два серьезных недостатка. Во-первых, исправление более трех ошибок требует больших ресурсов. А гугл, кстати, неплохо справляется и с четырьмя ошибками. Во-вторых, нет возможности проверки связного текста.



                              Итак, хочется исправить эти проблемы. А именно, написать корректор коротких фраз или запросов, который:
                              • умел бы выявлять три (и более) ошибки в запросе;
                              • умел бы проверять «разорванные» или «слипшиеся» фразы, например expertsexchange — experts_exchange, ma na ger — manager
                              • не требовал много кода для реализации
                              • мог бы достраиваться до исправления ошибок на других языках и других типов" ошибок

                              Остальное — под катом.
                              Читать дальше →
                            • Неприступный почтовый сервер, или жизнь без спама

                                Борьба со спамом — это головная боль всех ответственных администраторов почты. Чего только они не изобретают, чтобы любимым пользователям лучше жилось. Однако, как показала практика общения со многими системными администраторами, почему-то далеко не все представляют как правильно фильтровать спам.

                                Чаще всего встречается подход «добавим кучу RBL (DNSBL) и будем радоваться жизни». Подход не верный чуть более, чем полностью. Второй по популярности — контент-фильтры, зачастую купленные за бешеные деньги. Такой подход тоже в большинстве случаев совершенно неоправдан.

                                А ведь всё так просто, для спокойной жизни достаточно всего лишь пристально присматриваться к трём заголовкам входящей SMTP сессии. Порывшись на Хабре и в закоулках интернета так и не нашёл исчерпывающей статьи на тему правильной настройки SMTP сервера с точки зрения противодействия спаму. Поэтому решил расписать всё, что знаю на эту тему сам и чем успешно пользуюсь.

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

                                Итак, если вы хотите обезопасить своих пользователей от спама или наоборот, хотите чтобы кто-то случайно не обезопасил пользователей от ваших писем — добро пожаловать под кат.

                                Читать дальше →
                              • Генерирование изображений-заглушек

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

                                  На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
                                  <img src="http://placehold.it/350x50" />
                                  и получаете:


                                  Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
                                  Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
                                  Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).

                                  Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
                                  Ещё насколько примеров под катом
                                • По ту сторону браузера: Как подключить прием платежей

                                    Привет!

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

                                    Процессинг платежей


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