• Улучшаем emacs-jabber

    Начало


    На хабре уже была обзорная статья по jabber.el — jabber-клиенту для emacs. Решив попробовать этот клиент после pidgin, я наткнулся на отсутствие таких привычных уже вещей, как история ввода или форматированные сообщения. К сожалению, emacs-jabber не развивается так быстро, как хотелось бы. К счастью, возможности emacs по настройке практически безграничны, поэтому добавить нужное несложно. В этой статье я расскажу, как реализовал историю ввода. Если эта тема заинтересует общественность, в дальнейшем опишу отправку форматированных сообщений (html) и некоторые другие плюшки.
    Читать дальше →
  • Как я ставил новый Skype

      Понадобилось мне поставить skype. Система — debian testing, amd64. Поскольку в репозиториях скайпа нет, было решено поискать его на офсайте.
      skype.com -> Download показало множество вариантов на любой вкус и цвет. Только вот Debian'а для amd64 там не оказалось.
      Читать дальше →
    • Оператор @ в PHP

        Довелось доделывать проект, предыдущие авторы которого налепили @ практически перед всеми функциями. В результате все работало по принципу «сработает функция — хорошо, не сработает — ну и черт с ней, все равно ошибки никто не увидит». Вопрос — а какая реальная польза от оператора @?
      • Linux, mysql, IO schedulers

          Пару дней назад позвонил коллега. Сравнивал производительность mysql на соляре и центосе. Попросил провести сравнение на самосборной генте.
          Собираю mysql, для тестов используется run-all-tests из каталога sql-bench дистриба мускуля. Делал все это на домашней машине, где по умолчанию используется шедулер CFQ. Машина — AMD Athlon(tm) 64 X2 Dual Core Processor 4800+, работают оба ядра (хотя для тестов почему-то использовалось только одно), 2 гига памяти. Винт — SATA1, AHCI. Mysql 5.0.54.
          В качестве результатов тестов использовалось суммарное время их проведения. На генте оно составило 1600 секунд, на соляре — 1300, на центосе — сильно за 2000.
          Сегодня решил продлить эксперимент и проверить поведение мускуля на разных IO schedulers. Результаты несколько озадачили. Итак,
          Anticipatory — 1795 сек.
          Deadline — 1867 сек.
          CFQ — 1523 сек.
          То есть совсем не то, чего можно было ожидать. Согласно хелпу при конфигурировании ядра:
          • The anticipatory I/O scheduler is generally a good choice for most environments, but is quite large and complex when compared to the deadline I/O scheduler, it can also be slower in some cases especially some database loads.
          • The deadline I/O scheduler is simple and compact, and is often as good as the anticipatory I/O scheduler, and in some database workloads, better. In the case of a single process performing I/O to a disk at any one time, its behaviour is almost identical to the anticipatory I/O scheduler and so is a good choice.
          • The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems.

          То есть наилучшая производительность ожидалась на deadline, на самом деле он оказался наиболее медленным. Anticipatory показал средние результаты, а вот CFQ (десктопный!!!) опередил конкурентов почти на пять минут. Хотя тесты производились на работающей десктопной системе, но практически никакой нагрузки на винт в это время не было.
          Возможно, имеет смысле поиграть с другими версиями мускуля, но я задумался о переводе своих продакшн серверов mysql на другой шедулер.
        • Закладки на позицию на странице

            При чтении длинных текстов иногда возникает необходимость возвращаться в начало текста. Было бы удобно, если бы была возможность ставить что-то вроде закладок, но с запоминанием позиции в браузере. Как, например, в vim — на любой строке нажал mx, где x — любая буква. Потом после любых перемещений по файлу можно нажать 'x и снова окажешься на той же строке.
            Возможно, сообществу известны какие-то скрипты или дополнения для оперы/фокса, которые позволяют делать нечто подобное для веб-страниц?
          • Что есть в опере, чего нет в фоксе

              Заранее оговорюсь — речь идет о Линухе и КДЕ, указанное поведение наблюдалось именно там. Проверить в другой ОС или DM не могут за неимением таковых.

              Еще с виндозных времен пользуюсь Оперой. К сожалению, в последнее время, когда все больше флеша и яваскрипта, Опера не выполняет всех возложенных на нее функций. Поэтому приходится параллельно с ней держать и Файрфокс. В нем смотрю флеш, в Опере делаю все остальное. Надеюсь, появление релиза 9.5 ситуацию хоть немного исправит.
              Есть множество причин, которые не позволяют перейти на фокс полностью (не считая того, что Опера мне попросту субъективно больше нравится :) ). Ниже перечислю то, что доставляет дискомфорт после пользования Оперой.
              1. Загрузка адресов из буфера
                Есть какой-то некликабельный урл. В Опере я выделяю его (при этом он автоматически заносится в буфер) и делаю средний клик на таббаре. Открывается фоновая вкладка, в которой загружается ссылка, лежащая в буфере.
                В Фоксе плагины типа TabMix, SuperT и т.д. делают то же самое, но!
                — загрузка происходит в активном табе
                — загрузка происходит независимо от того, на таббаре ли был произведен клик или на каком-то табе.
              2. Загрузка урл из сторонних программ в фоне
                Приходит урл, например, в пиджине. В настройках выставлено — открывать урл в файрфоксе, новой вкладке. Щелкаю на урл. Он действительно открывается в новой вкладке, но при этом фокс упорно выскакивает поверх всех окон. А если нужно открыть несколько ссылок? Щелкнул, алльттаб, щелкнул, альттаб… Совсем неинтересно.
                Разумеется, можно средствами самой КДЕ запретить приложению перехватывать фокус, но это не решение проблемы.
              3. Повторное открытие закрытых вкладок. Можно ли как-то заставить браузер использовать привычное Ctrl+Z для отмены закрытия на неограниченную глубину? Есть прекрасный плагин vimperator, предоставляющий vim-подобное управление, в том числе и отмену закрытия по кнопке u. Только вот существует он только под вторую версию фокса, а мне больше по душе третья.

              Вопрос сообществу — существуют ли пути решения указанных проблем?