Авторизация
Комментарии
Случайная цитата
Истина — это заблуждение, которое длилось столетие, заблуждение — истина, просуществовавшая мгновение
Ещё
Карл Людвиг Бёрне

Статичный 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 встроенная вид.карта
Ничего из супер тяжеловесного софта не использую. Из средней тящести 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 теперь не используется. Никогда не думал, что увеличение озу может дать серьёзный прирост в производительности.

Новая версия сайта на nodeJSfaiwer — 15 января 2012г, 15:04

Вытащил из недр локалхоста новую версию сайта. Краткие характеристики:

  • Сервер - nodeJS + nginx
  • Framework - самописный
  • БД - mongodb
  • Шаблонизатор - Jade

На данный момент сайт очень сырой и малофункциональный. Из старого функционала доступны - блог, комментарии, цитатник. В дальнеших планах:

  • Добавить поиск по сайту (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-данных. Такая вот мелкая оплошность, может стоить нескольких часов поиска :)