You are viewing [info]dr_morro's journal

Отходы мозговой деятельности [entries|archive|friends|userinfo]
Morro L

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Литературное. [Apr. 6th, 2012|05:17 pm]
[Tags|, ]
[music |*** 21. Muse - Muscle Museum]

Давно мне не попадалось хорошей литературы.
Но тут случилось счастье.

AnathemВ своё время пытался освоить "Анафем" Нила Стивенсона в англоязычном варианте. Не осилил.
К счастью, у ЖЖ юзера [info]kouzdra нашел пост, где упоминалось о выходе русскоязычного варианта книги.

Несмотря на незатейливую сюжетную канву, в книге достаточно измышлений, приколов и вставок наподобие "Занимательной арифметики" Перельмана.

Повествование в книге не очень ровное.
Очень понравилось начало книги. В середине, где начались ужасные опасности и страшные приключения, чуть было не разочаровался, но вставки из размышлизмов не давали отложить чтение.

Ближе к концу, автор начал откровенно резвиться: скафандры a'la 50ые, тросовый орбитальный буксировщик и вывод тушек на пердячем ходу конверсионных носителях на LEO.

Кучу интересного материала нашел в комментариях переводчика и послесловии автора.

В общем, по моему скромному мнению, эта книга практически приближается к "Ложной слепоте" Питера Уоттса.
Ценителям подобного жанра - рекомендую.
linkpost comment

Вполне ожидаемая гадость от Db_NoRecordExists и как с ней бороться [Dec. 27th, 2011|04:14 pm]
[Tags|, ]
[music |*** 16. Suzanne Vega - Stockings]

Всем привет!

Сейчас я расскажу вам, о работе с валидаторами типа Db_NoRecordExists.

Мной они применяются для работы с учётками.

В случае регистрации новой учётки все просто: в конфиге формы для уникальных полей вроде логин или email прописывается:
<options>
	<validators>
		<NoRecord>
			<validator>Db_NoRecordExists</validator>
			<options>
				<table>users</table>
				<field>login</field>
			</options>
		</NoRecord> 
	</validators>
</options>

Указанный в файле конфигурации валидатор типа Db_NoRecordExists не позволяют создать учётку с дублирующимися логином.

В коде контроллера пишется
$Users = new App_Model_Users();
$FormConfig = new Zend_Config_XML('Form.xml');
$Form = new Zend_Form($FormConfig);
if ($this->getRequest()->isPost()) {
	if ($Form->isValid($this->getRequest()->getPost())) {
		if ($Users->addUser($UserSettingsForm->getValues())) {
			// все ок
		} else {
			// ошибка при создании учётки
		};
	} else
		// неправильно введённые данные
}

Всё хорошо при регистрации нового пользователя, но возникает сложность в форме для изменении данных уже существующей учётки.

Вот у тебя есть форма, где пользователь может поменять, логин, e-mail, имя и т.п.
Для того, чтобы логин и e-mail были уникальными в системе, опять используется валидатор Db_NoRecordExists, но если пользователь решил оставить свой логин без изменений, а поменять только имя, то мерзкий валидатор всё равно выдаст сообщение об ошибке.

Для того, чтобы валидатор не "ругался" на уже существующий логин, можно после создания формы, разбавить код контроллера след. строками:
$Users = new App_Model_Users();
$UserID = $Users->getCurrentUserID();
$Form->login->getValidator('Db_NoRecordExists')->setExclude(array('field' => 'user_id', 'value' => $UserID));

Теперь валидатор будет игнорировать совпадения логинов, e-mail'ов для записи с user_id='$UserID'.

После этого пользователь может успешно изменять данные своей учётки.

Может это не самое красивое решение, но как прописать исключения для валидатора Db_NoRecordExists в файле конфигурации формы, "с разбегу" я не обнаружил.

Пользуйтесь на здоровье.
link2 comments|post comment

Партия когнитивного диссонанса [Nov. 29th, 2011|04:56 pm]
[Tags|, , ]
[music |*** 4. Machine Love - The Now Explosion]

Всем дарова!

В воскресенье мотались по городу, заодно выгуливали малого.
Навстречу попался чувак в костюме ежа раздающий какие-то прокламашки.
Увидев такого большого ежа, пацан радостно запищал. Пришлось брать курс на сближение и получить немного рекламного материала.

Получили вот такого вида календари:

cart_face cart_back
Понятно, что календари посвящены грядущей выборочной вкаханалии, но за кого агитируют, за красных или за белых, я так и не понял.

Чё народ, есть какие-нить мысли по этому поводу?

linkpost comment

Красноглазости пост. [Oct. 20th, 2011|01:25 pm]
[Tags|, ]
[music |*** 2. Frontline Assembly - Low life]

Всем дарова.

Был у меня нетбук, который сдох.
Часть комплектухи заказал с московии, часть подогнали добрые люди. В авральном порядке восстановил девайс.

Т.к. порядок был авральный - диск с родными дровами на нашел, поэтому поставил xUbuntu.
Установилось вроде нормально, всё заработали изкаробки. Потом начали вылезать мелкие глюки.
Проблемы, в основном, связанные с ноутбучной сущностью девайса. Отсутствие перехода в гибернейт при закрытии крышки, нет смены яркости экрана и частоты процессора в зависимости от вида питания, пароль в скринсейвере для безпарольного пользователя, и тому подобные подлянки.

Проблемы решаемые, но надо курить форумы.

Вчера поработав с девайсом, по старой памяти, закрыл крышку и отложил в сторону.
Вечером ещё тёплый девайс отказался включаться. Ясное дело - батарейка разрядилась. Но даже после зарядки ноут только помаргивал экраном и игриво перемигивался светодиодами при включении.

Забеспокоился, стал думать что с ним могло произойти.
Уже начал прикидывать, что в нём сдохло, что надо заменять и не проще ли купить новый.

Конец оказался немного предсказуем - надо было просто выкрутить яркость экрана.

Испытал чувство приятного облегчения, как поссать сходил.

Всем пока.
linkpost comment

Сессионные переменные в MODx [Oct. 14th, 2011|09:19 am]
[Tags|, ]
[music |*** 4. Muse - United States of Eurasia (+Collateral Damage)]

Рисовал сниппет в subj.
Пока пытался передавать параметр через сессию из кода сниппета в самостийный код, чуть мозг не вывихнул.

Решение таково:
MODx имеет свои собственные сессионные переменные. И если обычная сессия инициализируется через session_start();, то в самостийном коде нужно подключать модуль config.inc.php с стартовать сессию функцией startCMSSession();.
linkpost comment

[LJ2ME] Криворукая мобильная фигня. [Oct. 3rd, 2011|04:50 pm]
Текст соответстувет subj.
Выполняю проверку
link2 comments|post comment

(no subject) [Oct. 3rd, 2011|04:28 pm]
Эй, там на буксире фейсбуке, меня видно?
link2 comments|post comment

Синематографическое. [Sep. 4th, 2011|06:53 pm]
[Tags|, ]
[music |*** 12. Пикник - Иероним]

Всем дарова!


apollo18

Сходили намеди на спиритическийкиносеанс.

Смотрели киноленту Аполлон 18.

Общие впечатления от фильма сугубо положительные.

Если вам по нраву фильмы a'la Луна 2112 или Cargo, особенно первый - сходите позырить. Манеры съёмки примерно эквивалентны. И эта простота чем-то подкупает.


Всем пока!

linkpost comment

Вспомнил молодость (QuakeLive) [Mar. 27th, 2011|01:50 pm]
[Tags|, ]
[music |*** 1. Пикник - Мракобесие и Джаз]

Всем дарова!

Стою пять минут
С красным флагом на месте,
То ли хук зацепился,
То ли пинг 1200.

 

Решил тряхнуть стариной, зарегался на QuakeLive. Пусть это не православный Q2, но всё-же.

Заметил одну вещь.
Когда гонял на москальских/европейских серверах, супостаты рвут меня аки тузик грелку.
На корейских/японских выступаю вполне достойно.
Сперва думал, что ситуация как-то связана с опытностью игроков. Потом просто посмотрел пинг.
Получилось 250 и 45-50 соответственно.
Сделал для себя выводы и продолжил гонять с узкоглазыми, дабы не расшатывать нервную систему.

Всем пока!
linkpost comment

Идеи задротов - в жизнь! [Jan. 27th, 2011|04:40 pm]
[Tags|, , ]
[music |*** 1. Trash Yourself The Toxic Avenger - Song 2 (Original mix)]

Всем дарова!

В интернете пробежала новость о заварушке в Тунисе. Дескать сраные блогеры и прочие маргиналы свергли конституционный строй и давай безобразничать.

К примеру, госсекретарём по вопросам спорта и молодёжи назначили некоего Слима Амаму, блогера и члена Пиратской партии.
Также сообщают, что пламенные революционеры для координации своих действий пользовались twitter'ом и всякими ЖеЖешечками.

Сразу вспомнилась соотв. картинка.

Вся власть задротам! и хикки...

Вот такие дела.

Всем пока!
linkpost comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]