iOwn Mokia N95
Удалось на днях подержать в руках примечательный телефон — китайскую подделку телефона Nokia N95. Купленную господином S. в Нижнем Новгороде с рук за 5 тысяч рублей под видом оригинальной Nokia. С первого взгляда отличить подделку трудно, особенно, если оригинал не лежит под носом каждый день — телефон как телефон, но стоит его включить… Меня сразу смутило качество прорисовки иконок, шрифт и, уже чуть позднее — русификация.
Китайцы в своей оригинальной манере. В меню встречаются пункты «короткий путь» (shortcut), «калечить» (disable) и тому подобные перлы. Кстати, за 5 тысяч телефон более чем хорош — большой сенсорный (!) экран в три дюйма с разрешением 320×240 точек, поддерживает 260000 цветов, Bluetooth, GPRS, два слота под SIM (одновременно не используются, в меню есть переключатель),
Интересно, что сторонние программы мне не потребовались — при подключении к компьютеру телефон сразу предлагает выбрать один из режимов: хранилище данных (как обычная флешка),
Сайт ожил!
Технический сбой, мешавший серверу, на котором хостится мой сайт, работать нормально, устранён, добро пожаловать назад!
ЖЖ от 2007-11-19 13:40:00
CSS3 text-shadow
Благодаря БлоGноту узнал об официальном открытии сервиса «Я.ру», походил по ссылкам и обратил внимание, что в Opera 9.50 некоторые ссылки
Интересно, что тени
Многократные тени — впечатляющая штука
Как обычно, идея позаимствована из Internet Explrorer, там есть фильтр «drop shadow», который занимается тем же самым.
<div style="cursor:hand;height:160px; padding:10px; font:bold 13pt Verdana;
filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5,
Color='gray', Positive='true')">
Текст с тенью
</div>Причём, фильтр можно наложить несколько раз (добившись эффекта множественной тени), если окружить текст несколькими тегами и наложить на каждый тег по фильтру.
The Sims2

Sims2, похоже, уже всюду запускается. Для PSP тоже есть
Управление простое: 4 и 6 — выбор объекта, 2 и 8 — перемещение по меню, правая функциональная клавиша — выбор или использование объекта, левая — открыть виртуальный мобильник. Так же работает джойстик (на тех моделях, где он есть).
Все мы немного яблоко
Очень хорошую статью Евгения Лотоша нашёл «Ошибки и штампы в фантастике». Вот роскошное место про генетически модифицированные продукты:
Перейдем к генетически модифицированным растениям. Современные протесты против них, если отбросить чисто маркетинговые ходы со стороны «традиционных» производителей, сводятся к следующим пунктам.
Первый — это опасность контакта человеческого организма с модифицированными геномами таких растений. В чем опасность этого контакта, не расшифровывается. Опасность получить довесок к своим собственным генам, разумеется, является совершенно бредовой и высосанной из пальца. Помимо того, что написано чуть выше, нужно помнить, что человеческий (и не только) организм постоянно пропускает через свой кишечник массу животного и растительного генетического материала. И ничего — стручки и шерсть на нас расти пока еще не начали. И не вырастут — все, что попадает в наш желудок, в процессе пищеварения расщепляется на простейшие составляющие. У сложнейшей гигантской молекулы ДНК примерно столько же шансов попасть из кишечника в кровь неповрежденной, сколько у куска льда в доменной печи — дожить до следующего рассвета. Если провести грубую аналогию, то бессмысленно сыпать запчасти в бензобак — они все равно не встроятся в карбюратор и подвеску.
Вторая опасность, более реальная, заключается в опасности бесконтрольного распространения генетически модифицированных растений. Скажем, модифицируют культурную картошку генами чертополоха для повышенной устойчивости к вредителям, а получат в результате сверхплодовитый чертополох, устойчивый к пестицидам. Ну, а он возьмет да и заполонит колхозные поля, сведя на нет и без того тощие, на уровне тринадцатого года, российские картофельные урожаи. В таких опасениях, нужно признаться, есть доля истины. Однако не совсем понятно, как такие растения окажутся способными покинуть стены лаборатории. Вряд ли они вообще протянут дольше, чем лаборанту потребуется осознать, что он в очередной раз напортачил с реагентами. Ну, а печку даже сто раз модифицированное растение не переживет, если только у него в роду не найдется неопалимой купины. В общем, техника безопасности наподобие той, что применяется при работе с инфекционными агентами, гарантированно исключит такие прорывы.
Наконец, есть опасения, что модифицированные белки окажут негативное влияние на человеческий организм — например вызовут ужасную аллергию. Но уж
здесь-то никто не мешает организовать предварительное тестирование и забраковать негодную продукцию теми же методами, что и лекарства.Все нынешние баталии вокруг генных продуктов вызваны исключительно конкуренцией «старых» и «новых» методов производства. В производство «традиционной» с/х продукции вложены большие деньги, и сдаваться без боя их владельцы не хотят. Вот и появляются бредовые «исследования» о вреде модифицированных продуктов. «Прогрессисты», разумеется, в долгу не остаются — они тоже вложили деньги и твердо намерены их окупить. В результате же торговых войн у простых потребителей формируются черт знает какие представления о генетике в целом и модифицированных продуктах в частности. При всем при том куда более актуальным темам вроде массированного применения антибиотиков при производстве мясной продукции внимания уделяется заметно меньше.
Раз уж мы заговорили о лечении болезней, упомянем еще одну популярную в последнее время тему — чудодейственность серебряной посуды. Серебро, как утверждается коммерсантами и прикормленными ими «научными консультантами», оказывает настоящий чудотворный эффект, убивая подряд всю болезнетворную мелочь, имевшую несчастье оказаться в посеребренном изнутри стакане или, скажем, фильтре для воды, содержащем серебро. В качестве примера приводят Ну, о том, что царь Александр наверняка пил из совершенно отдельных фляжек со специально для него хранимой водой, «научные консультанты» умалчивают. И с тем, что серебро убивает бактерий, поспорить сложно: тяжелый металл второй группы опасности, ПДК которого всего в полтора раза больше, чем у свинца, безусловно, является достаточно эффективным ядом. Одна беда: серебро, Дальше — про серебро
Brainlessness
Гомофобофилофоб — не любит тех, кто поддерживает гомофобов.
В лицо шрифту (@font-face)
Когда я только начинал выходить в интернет (годах в 1997—1998), обе программы, который в то время считались браузерами — Internet Explorer 4.0 и Netscape Navigator 4.0 умели показывать так называемые «embeded fonts» («внедрённые шрифты», сейчас эту технологию всё чаще называют «web fonts»). IE использовал собственный формат — EOT («Embedded Font Technology»), а компания Netscape — лицензированную у Bitstream технологию.
С помощью «внедрённых шрифтов» в браузер можно было подгружать любой специально подготовленный шрифт и писать тексты им (например, в моём родном Татарстане так делали сайты на татарском языке, ещё до введения татарского алфавита на основе кириллицы в Unicode). Причём IE позволял включать в шрифт не все буквы, а только те, которые могут понадобиться. Технологию незаслуженно ругают — говорят, что
Как обычно, то, что появляется в IE, со временем появляется и в других браузерах, только в другом виде. В данный момент «web fonts» является частью не вышедшей ещё спецификации CSS3 (впервые встречается ещё в CSS2) и уже есть браузер, который поддерживает часть возможностей — движок браузеров WebKit (на нём построен, например, браузер Safari) уже начал поддерживать правило

В CSS это всё выглядит следующим образом:
@font-face {
font-family: "Kimberley";
src: url(http://www.princexml.com/fonts/larabie/kimberle.ttf) format("truetype");
}
h1 { font-family: "Kimberley", sans-serif }Указывается путь до шрифта, его имя в документе и его формат («truetype»).
Крутое колдунство

Итак, я, похоже, первый, у кого на «Блоговаре» появилась возможность купить любое зелье. Напоминаю, что «зелья» — это то, что получается из «трафки», которую надо искать на сайтах, которые играют в «Блоговар».
Weblog ping или блоги говорят
На мой взгляд, это очень здравая идея нового веба — что сайты должны обмениваться данными между собой по определённым протоколам. Самый известный — это RSS (экспорт статей сайта), чуть менее известные pingback и trackback (позволяют указать, что на статью сослались), набирающий популярность OpenID (позволяет авторизоваться на сайте пользователю другого сайта), незаслуженно забытый BLIMP (позволяет сайтам оповещать друг друга о битых ссылках).
Протокол «ping», точнее, это часть протокола
Благодаря ping я имею возможность использовать на сайте поиск Яндекса — ведь у меня есть возможность сообщить, где и что на сайте изменилось.
Как же делается ping? Надо всего лишь открыть соединение к выбранному серверу и передать по определённому URL сообщение. Имя сервера и URL можно найти в поиске или в любом списке «серверов ping для WordPress» (популярный движок блогов WordPress предоставляет пользователю возможность «пинговать» заданные сервера).
Сообщение отсылается по протоколу HTTP, методом POST, записывается в формате XML и имеет следующий (по версии Google) вид:
<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param>
<value>Название вашего блога</value>
</param>
<param>
<value>URL блога</value>
</param>
<param>
<value>URL страницы, которая изменилась</value>
</param>
<param>
<value>URL RSS, RDF или Atom, к которому относится страница</value>
</param>
<param>
<value>Необязательный параметр — категория или «тег» сайта,
можно указать несколько, разделённые символом «|»</value>
</param>
</params>
</methodCall>На PHP самый простой способ всё это проделать — через Curl, хотя я формирую запрос и отсылаю его через fsockopen. Ответ часто можно и не читать, там содержится информация о том, выполнен ли запрос, но на практике это редко бывает интересно. Если не выполнен, то максимум, что вы можете сделать — это его повторить.
ECMAScript 4 people
В ECMAScript 4 (JavaScript2 будет основан на этом языке)
Проблематику все понимают? Если нет, то хотя бы попробуйте сложить 0.1 и 0.7, умножить сумму на десять и округлить вниз в любом языке, который поддерживает числа с плавающей точкой. В языке, где числа с плавающей точкой представляются в соответствии со стандартом IEEE 754 (что у вас есть под рукой? JavaScript, Perl, PHP, MySQL) вы получите число 7. Почему так происходит — тема отдельного разговора, вкратце — дело в представлении числа с плавающей точкой на машинном уровне (на самом деле результатом данной суммы, в данном случае, с точки зрения такой реализации, будет 0.7999999999999999, а не 0.8) .
Decimal — специальный тип (чаще всего можно встретить его в СУБД), который позволяет манипулировать числами с фиксированной точкой. Зафиксировав точку, можно перейти к такому хранению числа, где таких погрешностей не будет.
В EMCAScript 4 (а так же в языках, на нём основанных — ActionScript 3 и JavaScript 2) есть два способа объявить число как decimal:
{
use decimal;
var a = 0.1; // a — decimal
var b = 0.2; // b — decimal
var c = a + b; // c — decimal (0.3)
}
var a = 0.1m; // a — decimal
var b = 0.2m; // b — decimal
var c = a + b; // c == 0.3mСуффикс «m» пришёл из «C#» и расшифровывается как «money» («деньги»). В остальных языках программирования проблему обходят, работая с целыми числами. Перед выводом их просто делят на 100.
Склонный к полноте друг поддержит в трудный год
Очень притча понравилась, правдивая:
Голодные волки встретили в лесу зайца и собрались его съесть, а заяц им говорит:
— Погодите, мной вы сильно не насытитесь, а я могу вас привести к стаду овец
Волки решили не есть зайца и пошли за ним. Идут, а голод мучает все сильнее, они значит спрашивают:
— Долго еще идти?
Заяц им отвечает:
— Вот, сразу за горой, которая перед нами
Начали подниматься на гору, но не совладали волки с голодом, набросились на зайцаи съели. Наестца не наелись, голод мучает, но соблазна перед глазами более нет.
Поднялись на гору и видят стадо овец.
Сытно отобедали, и тут один значит говорит:
—Как-то нехорошо с зайцем получилось
Другой:
— Да уж, пойдемте, останки что ли захороним?
Вернулись, похоронили зайца, поставили камень на могилку и думают, что же написать:
— «Другу зайцу» — не пойдет, не поймут, зачем друзья его съели
— «Врагу зайцу» — тоже не пойдет, какой же он враг, когда привел их к стаду овец
Думали, думали, и написали — «нашему консультанту и партнёру — зайцу»
«Опера» ищут траву или «мне это подкинули»
Давайте я вам всю мощь «Оперы» (последней) покажу? А то тут некоторые товарищи user.js для обнаружения «трафки™» начали придумывать. Тем не менее, JavaScript тут не нужен, хватит и CSS. Ведь у «Оперы», наряду с пользовательскими JavaScript, есть и пользовательские CSS. Так что, просто подключаем к «Опере» следующий код и следим за индикатором в левом верхнем углу экрана (рассказывать как подключать я не буду и другим не советую — пусть это будет фильтром).
a[href*="blogowar.ru/soldier"] img[src*="blogowar.ru/herbs"]
{
position: fixed; top: 4px; left: 4px; z-index:5000;
background-image: url(http://blogowar.ru/favicon.ico);
background-position: 50%;
background-repeat: no-repeat;
background-color: #eee;
display: block;
width: 25px; height: 25px;
}Генерация «трафки™» или распределение по весам
Дима Смирнов применил интересное решение для генерации «трафок» на «Блоговаре»:
$rb = str_pad (decbin (mt_rand (0,64)),6,"0", STR_PAD_LEFT);
$herb = (int) strpos ($rb, "1");Смысл в том, что каждое следующее значение должно выпадать с вдвое меньшей вероятностью, чем предыдущее. Пока я спал, мне пришло в голову довольно забавное решение на ту же тему. Оно быстрее примерно на 30%, не обладает ограничением на размер и точнее вычисляет вероятности (у Димы «трафка» не выпадает с вероятностью примерно 52%), но не решает задачу полностью. Кто скажет в чём разница, не запуская код?
for ($i = 5; $i && mt_rand(0, 1); --$i);Магический вектор

Что делать, если у вас на руках растровое изображение, скажем, логотипа, исходник в «кривых» которого утерян? Его надо срочно вставить в скетч или дизайн, а инструментов под рукой нет? Рекомендую воспользоваться сервисом «Vector Magic».
Преобразование происходит в несколько этапов — на первом вам нужно выбрать тип исходного изображения: фотографическое, или было
Кстати, на сайте есть сравнение с Adobe Live Trace (Illustrator CS2) и Corel PowerTRACE (CorelDRAW X3), как не странно, выигрывает «Vector Magic» (а может и не странно, над этим продуктом трудились ребята из стенфордского университета).
Трафки™
На «Блоговаре» появился новый функционал — «трафки™» (от «травки» и «трафик»), идея, которую я вынашивал для другого проекта, но которая прекрасно подошла к «Блоговару». Смысл — расширить поле игры
Смысл, в конечном счёте — вы заходите не только на сайт «Блоговара», но и на блоги своих соперников, которые поставили специальный код. Этот код, в зависимости
P.S. Дима
Видеокарта open source
Помимо видеокамер с «open source» программной и аппаратной начинкой, есть ещё некоторое количество оборудования, которое разрабатывается по тем же принципам, например, «Project VGA» — видеокарта «open source» (в кавычках, потому что это понятие относится
«Project VGA» — это проект разработки
Для чего нужны такие карты? Помимо экспериментов и получения новых знаний, они могут быть нужны там, где требуется повышенная секретность (у военных, например, ведь и у карты могут быть свои «закладки»), надёжность (к примеру — медики, спасатели; кто поручится, что видеокарта будет работать в определённых условиях, её ПО не содержит «заплаток», сделанных на скорую руку и так далее), тем людям, которые преданы делу «open source» до фанатизма или тем, кто любит всё делать своими руками.
Голубая роза

Долгие годы голубая роза была недостижимой мечтой селекционеров, то, что удавалось получить, было, в лучшем случае, сиреневого оттенка. Говорят, что существует старинный арабский искусственный способ получения розы цвета
Ситуация изменилась
Работа велась
Голубые розы поступят в продажу в 2007—2008 годах.
Google Analytics — зачем это нужно?
Три отличных статьи по теме:
Google Analytics. Часть 1: Откровение
Статьи полезны тем, что учат использовать «цели» (goals) и «воронки» (funnels) в Google Analytics. Если вы занимаетесь изготовлением сайтов, продающих
IE6 background flicker bug
На первой странице студии Артемия Лебедева сегодня была новость о сайте «Хэлплайна» с движущимся, при наведении мышки, изображением пластмассовой уточки. Сама новость мне не интересна, а решение, которое позволяло уточке двигаться я посмотрел. Как и ожидалось — сдвиг позиции фонового изображения. Но есть
Как оказалось, это решение застарелого бага IE6 с миганием фона, подложенного под ссылку. Подробное описание описание условий возникновения бага можно найти в статье «Minimize Flickering CSS Background Images in IE6». Баг заметен, если в настройках кеширования браузера выбрать «Every visit to the page» для параметра «Check for newer versions of stored pages».
Вкратце, баг чаще всего проявляется при подкладывании фоновой картинки под ссылку — фон при наведении начинает неприятно мерцать, это Internet Explorer отсылает запросы на сервер, чтобы провеить не изменилась ли картинка, которую использовали как фон. Способ, который помогает решить проблему заключается в специальном
try { document.execCommand('BackgroundImageCache', false, true);} catch(e) {}