Удвоение ОЗУ, x86 && Ubuntu && PAE
На работе у меня достаточно старое "железо", я бы предпочёл работать на более мощной машине. Недавно начальник принёс плашку DDR2 на 2 ГБ. Эффект потрясающий. Но обо всём по порядку. Конфигурация:
- CPU: Core2Duo 1.8
- ОЗУ: DDR2 2GB
- Прочее: ~100+ GB HDD, 128 || 256 встроенная вид.карта
Ничего из супер тяжеловесного софта не использую. Из средней тящести VMWare + winXP, Photoshop CS5, Netbeans 7. Ввиду специфики работы приходится одновременно держать открытыми несколько браузеров, HeidiSQL и ещё 5-6 программ. Уровень потребления ОЗУ держится на уровне ~1.2 - 1.6 GB. Если > система начинает использовать SWAP (~100-300 Мб). Ни разу не зафиксировал трату более чем 1.6 ГБ ОЗУ. Ввиду этого мало надеялся на какой-то существенный рост в производительности ПК. Для меня в порядке вещей было открыть Photoshop (wine), повозиться с ним минут 20, а потом ожидать растормаживания Netbeans или ещё чего. Так как alt-tab-аться в разное ПО приходится часто - тормоза несколько досаждали :)
Поставил плашку - включил систему, и зная что она у меня 32-битная, ожидал худшего. Ubuntu увидела ~3.2 GB памяти. Немного Google, пару перезагрузок (с неудачными опытом) и вот оно решение: sudo apt-get install linux-generic-pae linux-headers-generic-pae. После перезагрузки система увидела 3.9 Гб. Насколько я понял и обсуждений - некоторую часть, по непонятным мне причинам, "съела" видео-карта, впрочем, я не жадный :D. Использоване PAE несколько нестабильно, зато позволяет, используя x86 архитектуру, "видеть" до 64 Гб ОЗУ. Насколько я понял, остаётся ограничение только в 4 Гб на 1 процесс. Вышеописанные тормоза пропали напрочь. SWAP теперь не используется. Никогда не думал, что увеличение озу может дать серьёзный прирост в производительности.
Could not update ICEauthority file...
Пытаясь улучшить nautilus, путём установки Elementary, я столкнулся с тем, что вместо ожидаемых "плюшек" я получил баги. Единственное решение по удалению elementary, которое я нашёл, заключалось в переустановке nautilus вместе с его плагинами. Баги пропали, наутилус рабоает. Однако, после перезагрузки оси на следующий день, я столкнулся с проблемой - вылетают ошибки "Could not update ICEauthority file /home/[user]/.ICEauthority" и "Произошла ошибка с сервером конфигурации (/usr/lib/gconf 2-4-sanity-check-2 завершился с состоянием 256)". Ни под основной учёткой, ни под root-ом нельзя было сделать практически ничего - ошибки доступа. Но если загружаться из консоли восстановления - всё работает, доступ к /home, /boot, /root и т.д. есть.
Все решения, найденные мною в сети, были просты как валенок - удали .ICEauthority, смени ему владельца, выдай права. Ни 1-о из них не помогло, этот файл, судя по всему, был жертвой обстоятельств, а не причиной всех проблем. Но в последний момент я нашёл решение в 1 строчку: sudo apt-get gnome-session.
Подборка расширений для Firefox
Решил написать о тех расширениях, которые мне приглянулись при использовании Firefox-а. Часть из них касается общего пользования, часть web-программирования. Итак, приступим.
Базовые
TabMix Plus — это расширение изменяет поведение вкладок браузера. Мне сложно сказать, что конкретно оно добавляет, потому как без него пользоваться firefox-ом я попросту не могу, а посему, не знаю, что умеет базовый менеджер(помню, разве что, что он дико примитивный, как в хроме). Больше всего меня интересовали следующие возможности: убрать крестики (в них нет никакой необходимости, при наличии кнопки-колеса у мыши), по ctrl-tab отображать последнюю активную вкладку(а не следующую), дублировать вкладку, защитить вкладку. Расширение имеет море настроек, которые придутся по вкусу "гурманам".
CSS 3: box-sizing
В CSS3 появилось замечательно свойство box-sizing. Это свойство объясняет браузеру каким образом следует толковать значения height и width. В обычном состоянии (box-sizing: content-box) эти величины влияют только на размеры содержимого блока, но если задать значение border-box, то при рассчёте также будут учитываться padding и border. Чрезвычайно нужное свойство, которое, к сожалению, не поддерживается в IE6-7. Для Firefox следует использовать -moz-box-sizing, а для старых webkit-ов -webkit-box-sizing. А теперь две ложки дёгтя, которые сильно ограничивают применение этого свойства в некоторых ситуациях:
-
Mozilla Firefox && min-height. Если текущее значение height-а задаётся свойством min-height, а не height (т.е. height не задан вовсе, либо он меньше, чем min-height), то огнелис напрочь забывает про -moz-box-sizing. Полагаю, что это баг, который в будущем починят.
- Google Chrome && display: table-cell. Блоки имеющие display: table-* и им подобные не используют box-sizing. Т.е. таблицы и блоки с вертикальным выравниванием "пролетают".
onKeyDown для DIV
Эта маленькая заметка посвящена небольшому трюку, который позволяет добиться работоспособности события onkeydown для тега <div>. Дело в том, что код вроде:
$('#test').keydown( function(e){ console.log( e.keyCode ); } );
Не сработает для HTML аля <div id="test">test</div>, а всё потому, что <div> не может получить focus. Простое добавление аттрибута tabindex="0" проблему решает.