Статичный IP в Ubuntu, настройка мышьюfaiwer — 25 февраля 2012г, 13:13
Небольшой гайд с картинками о том, как можно мышкой "натыкать" себе статичный IP в Ubuntu. Подразумевается, что сетевое соединение у вас исправно работает, и что статичный IP у вас есть (в моём случае, это просто любой локальный IP для роутера). Итак, для начала узнаем текущие параметры соединения:

Удвоение ОЗУ, x86 && Ubuntu && PAEfaiwer — 17 февраля 2012г, 18:10
На работе у меня достаточно старое "железо", я бы предпочёл работать на более мощной машине. Недавно начальник принёс плашку DDR2 на 2 ГБ. Эффект потрясающий. Но обо всём по порядку. Конфигурация:
- Камень: Core2Duo 1.8
- ОЗУ: DDR2 2GB
- Прочее: ~100+ GB HDD, 128 || 256 встроенная вид.карта
Поставил плашку - включил систему, и зная что она у меня 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 теперь не используется. Никогда не думал, что увеличение озу может дать серьёзный прирост в производительности.
Новая версия сайта на nodeJSfaiwer — 15 января 2012г, 15:04
Вытащил из недр локалхоста новую версию сайта. Краткие характеристики:
На данный момент сайт очень сырой и малофункциональный. Из старого функционала доступны - блог, комментарии, цитатник. В дальнеших планах:
- Добавить поиск по сайту (google)
- Вернуть галерею
- Использовать объединение javascript-ов
- Использовать dataURI
В углу страницы отображается время генерации страницы. Мне кажется, выжать такое из drupal-а невозможно. Хотя, конечно, писать нормальный код для drupal(php) и для асинхронной ноды - это отнюдь не одно и тоже. Путь труден и тернист :)
Could not update ICEauthority file...faiwer — 03 декабря 2011г, 13:45
Пытаясь улучшить 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.
Подборка расширений для Firefoxfaiwer — 14 ноября 2011г, 19:50
Небольшая подборка расширений для Firefox:
CSS 3: box-sizingfaiwer — 23 октября 2011г, 11:36
В CSS3 появилось замечательно свойство box-sizing. Это свойство объясняет браузеру каким образом следует толковать значения height и width. В обычном состоянии (box-sizing: content-box) эти величины влияют только на размеры содержимого блока, но если задать значение border-box, то при рассчёте также будут учитываться padding и border. Чрезвычайно нужное свойство, которое, к сожалению, не поддерживается в IE6-7. Для Firefox следует использовать -moz-box-sizing, а для старых webkit-ов -webkit-box-sizing. А теперь две ложки дёгтя, которые сильно ограничивают применение этого свойства в некоторых ситуациях:
1. Mozilla Firefox && min-height. Если текущее значение height-а задаётся свойством min-height, а не height (т.е. height не задан вовсе, либо он меньше, чем min-height), то огнелис напрочь забывает про -moz-box-sizing. Полагаю, что это баг, который в будущем починят.
2. Google Chrome && display: table-cell. Блоки имеющие display: table-* и им подобные не используют box-sizing. Т.е. таблицы и блоки с вертикальным выравниванием "пролетают".
onKeyDown для DIVfaiwer — 22 октября 2011г, 14:47
Эта маленькая заметка посвящена небольшому трюку, который позволяет добиться работоспособности события onkeydown для тега <div>. Дело в том, что код вроде:
$('#test').keydown( function(e){ console.log( e.keyCode ); } );
Не сработает для HTML аля <div id="test">test</div>, а всё потому, что <div> не может получить focus. Простое добавление аттрибута tabindex="0" проблему решает.
jQuery().readyfaiwer — 19 октября 2011г, 19:22
Многие используют $( document ).ready( fn ) или упрощённую запись $( fn ) для выполнения js-кода по окончанию загрузки DOM-модели страницы. Это удобно и кроссбраузерно, однако результат выполнения следующего кода:
<html>
<head>
<title>Test .ready</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script>$( function() { error.error + 'error'; // Error :) } ); </script>
<script>
$( function() { alert( 'All right' ); } );
alert(2);
</script>
</head>
<body> </body>
</html>
может вас разачаровать. Дело в том, что если одна из поставленных в очередь на .ready функций "заглючит", остальные не выполнятся. Вы не увидете 'All right', только '2'. Т.е. какой-либо мелочный глюк в одном модуле может привести к полной неработоспособности javascript-а на странице.
Внедрение CSS на летуfaiwer — 19 октября 2011г, 19:10
Столкнулся с задачей — внедрить "на лету", при помощи javascript, CSS-код на страницу. Простое решение "в лоб" не заработало в IE:
$('head').append( $( '<style>', { type: 'text/css' } ).html( 'css код' ) );
Оказалось, что IE ищет в теге <style> свойство styleSheet.cssText, откуда и берёт код. Решение:
var style = $('<style>', { type: 'text/css' } ).get(0);
if( style.styleSheet ) // IE
{
style.styleSheet.cssText = css_code;
}
else
{
$( style ).html( css_code );
}
$('head').append( style );
Потерянный $_POSTfaiwer — 14 октября 2011г, 17:16
Внедряя на crew.kz робокассу, я столкнулся с тем, что в реальных, боевых условиях, на сервер приходят "не правильные ответы" от платёжного сервиса. Дело в том, что $_POST был пуст, в то время как настройки мерчанта были указаны правильные. Проблема оказалась проста - в настройках аккаунта я указал в качестве адреса http://crewative.ru, а не http://www.crewative.ru, что приводило к 301-редиректу и потери POST-данных. Такая вот мелкая оплошность, может стоить нескольких часов поиска :)