Показаны сообщения с ярлыком улучшения. Показать все сообщения
Показаны сообщения с ярлыком улучшения. Показать все сообщения

19 дек. 2008 г.

Нововведения Firefox 3.2pre

Я пользуюсь продукцией компании Mozilla вот уже несколько лет, практически с момента создания браузера с одноименным названием. Firefox, как передовой продукт, развивается очень активно. Третья версия принесла много нового, однако идеальных технических решений не существует. Есть еще целый ряд новшеств, которые предстоит реализовать. Попробовав сборки тестовых версий, некоторые из этих новшеств можно увидеть прямо сейчас.

В начале декабря 2008-го года вышли две тестовые версии Firefox - 3.1b2 и 3.2pre (бета 3.1 и пре-альфа 3.2). Скачать 3.2pre можно здесь. Пользователи arch linux могут установить ночную сборку 3.2pre из aur или следующей командой:

yaourt -S firefox-nightly

Во внешнем виде ничего особенно не поменялось:

Кроме кнопки на панели табов, позволяющей увидеть список открытых табов с предпросмотром:

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

Одним из самых интересных нововведений является, безусловно, private browsing. Этот режим, включающийся одним кликом мыши, позволяет осуществлять анонимный серфинг, не оставляя никаких следов в системе. На время его работы отключается кэш, cookies и т.п. Выключается данный режим так же просто и с восстановлением всех открытых табов.



Также заслуживает внимания новая система восстановления прошлой сессии после аварийного завершения работы браузера. В 3.0.4 в данном случае отображалось окно с предложением восстановления сессии, что было не совсем удобно - в случае, если браузер "упал" из-за ошибки в скрипте, то при восстановлении скрипт опять произвел бы нежелательные последствия. В итоге, чтобы не потерять важные открытые табы, приходилось проверять свою реакцию быстро закрывая таб с опасным скриптом до того, как он исполнится. В 3.2pre восстановление сессии реализовано элегантно и очень удобно:

Как видно на скрине, теперь можно выбрать, какие вкладки открывать, а какие - нет.

Значительно улучшено соответствие браузера стандартам:

(для справки, Firefox 3.0.4 выдает 71/100).

Новый движок обработки ява-скриптов TraceMonkey (наследник значительно переработанного SpiderMonkey) обещает увеличение скорости в 20-40 раз в некоторых случаях по сравнению с 3.0.4. SunSpider JavaScript Benchmark действительно показывает значительные улучшения в скорости работы:

(столбец FROM - 3.2pre, TO - 3.0.4).

Если у вас есть более детальные тесты по производительности JavaScript - я был бы рад на них посмотреть.

Однако, не все из желаемого еще реализовано. Например, svg animation не всегда работает, часто показывая просто статичную картинку:


По разным источникам, Firefox 3.1 (в котором уже должны присутствовать все вышеперечисленные изменения) должен выйти в конце 2008, начале 2009 года. Чисто по ощущениям 3.2pre работает гораздо быстрее 3.0.4 и значительно приятнее в использовании в силу новых функций. Пользоваться каждый день тестовой пре-альфа версией, думаю, захочет не каждый, однако я для себя выбор сделал - на протяжении примерно недели не было замечено ни единого падения браузера в условиях обычного десктопного использования. Однако, иногда падал на некоторых тестах производительности (например, google V8 test suite).


Полный текст очерка

18 нояб. 2008 г.

В Synaptic появились скриншоты программ

В Debian Sid не так давно появилась новая версия (0.62.2) графического пакетного менеджера Synaptic с поддержкой просмотра скриншотов доступных программ.

При выборе пакета появляется кнопка "get screenshot":


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


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

  • Формат - png

  • Изображения больше 800x600 пикселей будут автоматически уменьшены

  • На скриншоте должен быть изображен процесс работы с программой. То есть, в видеоплеере должно играться видео, в браузере должен быть открыт сайт, а в игре должен быть показан процесс, а не стартовый экран

  • Интерфейс программ должен быть на английском языке для удобства всех пользователей. Запустить программу с английским интерфейсом можно, предварительно набрав export LANG=C

  • На изображении должна быть показана только конкретная программа, а не весь рабочий стол


За более подробными инструкциями можно обратиться сюда.

P.S. Как по мне, это - офигенная возможность. Вот только до ума довести.


Полный текст очерка

5 окт. 2008 г.

Цветной вывод в bash

Иногда для собственных скриптов бывает удобно сделать цветной вывод текста - для выделения важных моментов и удобства чтения. Средствами bash сделать это можно несколькими путями, я выбрал для себя наиболее удобный и элегантный.

Цветной вывод
Мне часто бывает нужно выделять определенные строки цветом, так что я просто создал файл /etc/colors следующего содержания:

#!/bin/sh
c_std=""
c_h_std=""
c_pink=""
c_h_pink=""
c_red=""
c_h_red=""
c_cayan=""
c_h_cayan=""
c_yellow=""
c_green=""
c_h_green=""
c_blue=""
c_h_blue=""

В нем задаются переменные, хранящие в себе соответствующие своим названиям цвета. Так, например, "c_std" - стандартный цвет текста в терминале; "c_h_std" - он же, но более "жирное" начертание, и т.д.

Этот файл можно использовать в скриптах для цветного вывода. Например:
#!/bin/bash
. /etc/colors

echo "${c_green}Это зеленый цвет${c_std}"


Цветное приглашение bash
Здесь в принципе идея та же, только у меня цвета прописаны в самом bashrc - так уж повелось. Приведу часть своего basrc, отвечающую за приглашение, там все и так довольно очевидно:
bash_prompt() {
local NONE="\[\033[0m\]" # unsets color to term's fg color

# regular colors
local K="\[\033[0;30m\]" # black
local R="\[\033[0;31m\]" # red
local G="\[\033[0;32m\]" # green
local Y="\[\033[0;33m\]" # yellow
local B="\[\033[0;34m\]" # blue
local M="\[\033[0;35m\]" # magenta
local C="\[\033[0;36m\]" # cyan
local W="\[\033[0;37m\]" # white

# emphasized (bolded) colors
local EMK="\[\033[1;30m\]"
local EMR="\[\033[1;31m\]"
local EMG="\[\033[1;32m\]"
local EMY="\[\033[1;33m\]"
local EMB="\[\033[1;34m\]"
local EMM="\[\033[1;35m\]"
local EMC="\[\033[1;36m\]"
local EMW="\[\033[1;37m\]"

# background colors
local BGK="\[\033[40m\]"
local BGR="\[\033[41m\]"
local BGG="\[\033[42m\]"
local BGY="\[\033[43m\]"
local BGB="\[\033[44m\]"
local BGM="\[\033[45m\]"
local BGC="\[\033[46m\]"
local BGW="\[\033[47m\]"

case $TERM in
xterm*|rxvt*)
if [ `echo $SSH_CLIENT | wc -c` -gt 1 ]; then SSH_FLAG=1; fi
if [ `/usr/bin/whoami` = "root" ]; then ROOT_FLAG=1; fi
if ([ "$SSH_FLAG" = 1 ] && [ "$ROOT_FLAG" = 1 ]); then
local TITLEBAR='\[\033]0;[SSH] \u@\h\007\]'
PS1="$TITLEBAR${R}[!] ${G}\u${Y}@\h ${W}at ${C}\W ${W}>:/ "
elif [ "$SSH_FLAG" = 1 ]; then
local TITLEBAR='\[\033]0;[SSH] \u@\h\007\]'
PS1="$TITLEBAR${G}\u${Y}@\h ${W}at ${C}\W ${W}>:/ "
elif [ "$ROOT_FLAG" = 1 ]; then
local TITLEBAR='\[\033]0;\u@\h\007\]'
PS1="$TITLEBAR${R}[!] ${G}\u${Y}@\h ${W}at ${C}\W ${W}>:/ "
else
local TITLEBAR='\[\033]0;\u@\h\007\]'
PS1="$TITLEBAR${G}\u${Y}@\h ${W}at ${C}\W ${W}>:/ "
fi
;;
*)
if [ `/usr/bin/whoami` = "root" ]; then ROOT_FLAG=1; fi
if [ "$ROOT_FLAG" = 1 ]; then
PS1="$TITLEBAR${R}[!] ${G}\u${Y}@\h ${W}at ${C}\W ${W}>:/ "
else
PS1="$TITLEBAR${G}\u${Y}@\h ${W}at ${C}\W ${W}>:/ "
fi
;;
esac
}

bash_prompt

Внимательный читатель заметит, что также присутствует проверка на то, является ли текущая сессия сессией ssh и/или рутовой сессией. Соответственно устанавливаются флаги SSH_FLAG и ROOT_FLAG и определенным образом меняется приглашение. Пример:


Полный текст очерка

14 апр. 2008 г.

Элегантный десктоп

Гном и Кде - замечательные среды, однако я не могу без боли смотреть на количество зачастую совершенно мне ненужного хлама, который они за собой тянут. Нет, можно, конечно, и Гном довести до состояния Адама с лавровым листом, но это неблагодарная трата времени. Легче и быстрее использовать аналоги.

Про установку и настройку флюксбокса/опенбокса/айсвма написаны горы статей, да и описывать там особо нечего - всё есть в документациях. Я хочу лишь написать про свой любимый прикладной софт. Он, как правило, занимает минимум места и работает в разы быстрее своих Больших Братьев.

Терминал
> Большие Братья: gnome-terminal, konsole, urxvt.
Всем понятно, что любой графический линукс начинается с эмулятора терминала. Я не нашел ничего быстрее, удобнее и красивее xfce4-terminal.



Практически полный аналог gnome-terminal, но субъективно быстрее. Умеет всё, что полагается - табы, фиктивную прозрачность и т.д.

Работа с файлами
1. Файловый менджер
> Большие Братья: nautilus, krusader, dolphin, thunar.
Больше всего меня раздражает в Наутилусе его скорость. Он медленный. А по сравнению с pcmanfm - он просто и без преувеличений тормоз.



Замечательной особенностью этого менеджера являются табы - это такая удобная штука, что любой наутилус со своим функционалом просто курит. Pcmanfm в общем и целом похож на Thunar, но шустрее. Холодный старт происходит вообще за пару секунд (это с учетом того, что у меня слабая машина).

Проект вроде бы некоторое время совсем не развивался, но сейчас разработка идет полным ходом.
Из минусов: я не смог заставить его отображать названия точек монтирования разделов (если кто меня просвятит - буду благодарен); при удалении файлы не помещаются в корзину, а удаляются совсем - работа над этим ведется, насколько я знаю.

2. ГУЙ к архиваторам
> Большие Братья: File-roller, KArchiver.
Мне не всегда удобно использовать CLI-утилиты для работы с архивами, поэтому я достаточно долго искал достойный графический интерфейс. Моё расположение заслужил Xarchiver, который входит в проект Xfce. Быстрый и удобный. Поддерживает 7-zip, arj, bzip2, gzip, rar, lha, deb, rpm, tar и zip.



Текстовый редактор
> Большие Братья: GEdit, Kate.
Тут всё просто и понятно. Хотите с табами - придется ставить одного из двух вышеперечисленных товарищей. Хотите скорости - leafpad или mousepad, они практически идентичны. Мой выбор - leafpad.



По скорости холодного старта он рвет gedit только в путь.
А для кодинга небольших скриптов я использую medit.



Интернет
1. БитТоррент клиент
> Большие Братья: Azureus, Deluge, KTorrent.
Ничего быстрее и вразумительнее transmission (из графики) вы не найдете.



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

2. РСС-ридер
> Большие Братья: Liferea, Syndigator, Straw.
Я использую плагин к Файрфоксу - Feed Sidebar.



Мне легче запустить бразуер и нажать одну кнопку, чем запускать еще и сторонний ридер. Имеет минимум функций, но в этом и ценность - ничего сверх этого мне не нужно.

Мультимедиа
1. Просмотрщик изображений
> Большие Братья: GQView, gThumb, Mirage.
Всё вышеприведенные программы довольно тормозны. Особенно по сравнению с gPicView. Быстрее него просто нет. Умеет он минимум - просмотр, зум, поворот и т.п. и всё.



Если вам нужно нечто большее - попробуйте Mirage.

2. Аудио-плеер
> Большие Братья: Amarok, Exaile, Audacious, XMMS.
Раньше я скептически относился к плеерам, составляющим музыкальные базы, полагая, что я и сам знаю, что и где у меня лежит. Да и тормозов боялся (Exaile у меня составлял базу всю ночь пока я его не прервал). Однако, сочетание mpd + sonata оставит далеко позади ЛЮБОЙ winamp-like.



Получение обложек и текстов из интернета, встроенная поддержка last.fm, поиск по своей базе - всё это есть и всё это быстро. База из 100+ гигабайт музыки составляется за 5 минут.

В заключении отмечу пару маленьких CLI, без которых я не представляю десктопа. audio-convert - это маленький скрипт на баше, умеющий перекодировать аудио форматов wma, mp3, flac, waw, etc. Использует Zenity для графики и чрезвычайно удобен. Calc - консольный калькулятор.

Сonclusio
Все вышеописанные программы в сочетании с легким WM/DE дадут такой прирост производительности, что разработчики Gnome и KDE должны сгореть от стыда.


Полный текст очерка

14 нояб. 2007 г.

Простой запуск, перезапуск и остановка сервисов.

Очень интересную штуку нашел на Planet Ubuntu. Оказывается, с помощью пакета "sysvconfig" можно легко управлять сервисами без необходимости каждый раз печатать длинное "sudo /etc/init.d/service_name restart".

Как сообщает здесь некто Christer Edwards, на Ubuntu (да и на Debian тоже) можно использовать простое управление сервисами от RedHat. Для этого достаточно установить нужный пакет:

sudo aptitude install sysvconfig

Он потянет за собой еще один, "dialog". Всё вместе займет 1442 килобайта.

После этого можно вволю потворствовать своей лени, набирая для перезапуска сервиса:
sudo service dnsmasq restart

или
sudo service ntpd stop

или
sudo service networking restart

Я счастлив :)


Полный текст очерка