Подарки

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

Minesweeper game

Minesweeper Flash game

Price: 1.00 руб

Убить рисунок

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

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

Изменение дизайна

Изменил дизайн сайта - сделал его резиновым и поменял местами колонки.

PHP XML pretty printer (beautifier)

// Assume what you have < ?xml version="1.0"? > header in first string
function beautyXML($xml) {
  $xml = str_replace("><", ">\n<", $xml);
  $xml = explode("\n", $xml);
  $level = 0; $sp="";
  for ($i = 1; $i < count($xml)-1; $i++) {
    $xml[$i] = $sp.$xml[$i];
    $i1 = strpos($xml[$i],"<"."/")!==false ||
      strpos($xml[$i],"/>")!==false;
    $i2 = strpos($xml[$i+1],"/>")!==false;
    $i3 = strpos($xml[$i+1],"<"."/")!==false;
    if ($i1 && !$i2 && $i3) $level--;
    if (!$i1 && !$i3) $level++;
    $sp="";
    for ($j=0;$j<$level;$j++) $sp.="  ";
   }
   $xml = implode("\n", $xml);
   return $xml;
}

Апгрейд php

Купил себе ноутбук, и решил вместе с установкой на него софта обновить версии программ на основной машине. Обновил и PHP до версии 5.2.3. Нельзя сказать, чтобы это заняло уж очень много времени, но повозиться пришлось достаточно.

  • прописать в httpd.conf пути к новому php
  • создать новый php.ini из php.ini-dist и перенести настройки в него из старой версии
  • обновить libmysql.dll в windows/system32
  • установить PEAR и обновить PHPTAL модуль

После этого сайт снова заработал, с чем я вас и поздравляю.

UPD: Апач обновлен до версии 2.2.8.

Черное и белое

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

В кофе налито белое молоко. На калькуляторе и телефоне - белые кнопки, на часах - белый циферблат. Я печатаю на белой клавиатуре, рядом стоит белый сканер и лежит белая мышка. Белый корпус компьютера гармонирует с белым монитором. К столу прикручена белая настольная лампа.

На циферблате часов - черные цифры и стрелки. На клавишах сотового телефона, калькулятора и клавиатуры, на экране монитора и передней панели компьютера - черные символы. На столе лежит черный микрофон. Рядом со столом стоят черные колонки. На компе лежит пара черных DVD-коробочек.

На водолазке - Бритни Спирс. На кровати - белая подушка. Рядом с кроватью - белый напольный вентилятор. Под столом - белая корзина для бумаг. Рядом - белый пластиковый чайник. И недалеко - белый подоконник, и окно, за которым - белый солнечный день.

Горечь и сладость в моей душе гармонируют с горечью и сладостью черного кофе с молоком и сахаром.

Тормоза на машине-2

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

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

Я поискал и нашел утилиту Process Lasso. Она автоматически понижает приоритет процесса, который потребляет чересчур много процессорного времени, выравнивая нагрузку. Поместив в список исключений все компиляторы, я добился того, чего и желал - работа работает, а интерфейс при зависи не виснет. Чего и вам желаю.

Тормоза на машине

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

Я было грешил на жесткий диск - при покупке компьютера у меня подобное было, и вылечилось отключением NCQ (очереди команд) в настройках Serial ATA2 - контроллера. Думал, что виноват контроллер, какие-то у него неполадки при 3Gb transfer rate. Сбрасывал скорость шины вплоть до PIO-режима... и в какой-то момент все равно напарывался на тормоза. Не помогало. И уже было смирился с этим, но...

Как-то раз при тормозах у меня вылезло окно nView Desktop Manager (видеокарточный драйвер) с предложением исключить процесс desktopsearchengine из списка получателей сообщений об обновлениях экрана, потому как, дескать, он потребляет слишком много ресурсов. Опа! Да это же Copernic Desktop Search!

Я вспомнил, что где-то полгода назад баловался десктопным поиском, и установил себе этот CDS, чтобы искать документы. Потом, когда индекс его раздулся до неприличного размера, поставил его на вечную паузу и как-то про него забыл. И оказалось, что он имеет включенную внутри себя настройку "Обновлять индекс при появлении новых файлов и изменении старых", что и происходило каждый раз при установке новой программы и распаковке архива!

Выключив эту галочку, я попробовал запустить переиндексирование базы вручную - и все повисло. Перезагрузившись, я удалил программу, и написал в user form, вылезшую в браузере после деинсталляции, о проблемах с диском. И вздохнул свободно - эта штука портила мне жизнь раз пятьдесят, но больше этого, слава nView, не повторится.

Atum game

В выходные перелопатил весь Интернет - искал игрушку Atum, которая когда-то была у меня на сотовом телефоне Panasonic GD-67. Хочу переписать ее на Flash, заодно и AS3 получше освою. Конкретно этой игры так и не нашел, но нашел похожую игру на эмуляторе Palm (поставил), на эмуляторе PocketPC (поставил), а также скачал Sun Java Wireless Toolkit для запуска J2ME игрушек (поставил). В результате поиска также было найдено:

  • файл прошивки телефона Panasonic GD-67 с расширением *.rel
  • название компании-разработчика - Games Kitchen; их сайт закрылся в прошлом году
  • имя и фотография главного разработчика игры Atum - David MacQueen. Написал ему письмо, может, повезет
  • куча обзоров телефона и скриншотик игры
  • куча сайтов мобильных игр, где именно этой игры нет
  • PowerPoint-презентация на тему "Оптимизация игр для мобильных устройств" от Games Kitchen

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

Ну и еще написал в субботу решалку японских кроссвордов.