Коан от Болка

Ученик пришёл к учителю и спросил: — У меня есть кот, мастер, скажите, какого он цвета? — Синего, — не задумываясь, ответил учитель.

12 комментариев

7 лет сайту

11 ноября 2001-го года я написал первый пост на своём сайте. Та версия сайта существует сейчас только на моём винте. Я подумываю о том, что бы соединить обе версии сайта и добавить сюда ещё и все посты ЖЖ (естественно, в хронологическом порядке).

6 комментариев

HTC MAX 4G

Посетил презентацию HTC MAX 4G (трансляция продолжается до сих пор), покрутил устройство в руках.

HTC MAX 4G (23.69КиБ)

Очень приятное устройство, честные 800x480, хорошая цветность, мощный процессор, хорошие приложения. Для всего (дата-кабеля, наушников, подключения к телевизору) один разъём формата miniUSB, но, что приятно, есть переходник на обычное гнездо наушников. Почему-то утверждается, что у этого телефона самый большой экран как по разрешению, так и по размеру. Неправда, у моего X7500 экран 5 дюймов, тогда как у MAX 4G — только 3,8.

В чём это устройство действительно является первым — это в поддержке WiMAX, т. е. прямо из телефона доступен интернет со скоростью до 10 мегабит (!), видеозвонки, VoIP и прочее поднимаются на новый уровень.

Другие характеристики: частота процессора примерно на 100 МГц меньше, чем у моего устройства (около 520), зато больше RAM — 256 мегабайт (у меня — 128). Камера, мне сказали, 3.2 мегапикселя, без вспышки, снимает, увы, отвратительно.

Минус — устройство ощутимо подтормаживает, сотрудники сказали, что это не последняя прошивка, так что может что-то исправят. Мне понравилось, что многие программы переработаны под управление пальцем (даже «Опера», которая там стоит).

3 комментария

Akyn: синтаксис (переменные)

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

Идея, которую я считаю хорошей несколько последних лет — шаблон должен содержать минимум логики и весь HTML должен содержаться в шаблонах. Тут она одна из центральных.

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

<!--имя секции-->
HTML-код секции
<!--/имя секции-->

Самое простое, что есть в шаблоне — переменные. Они записываются как {$name}. Переменная уникальна в своей секции или шаблоне (если шаблон без секций). Установить переменную можно присвоив шаблону свойство с её именем. У меня открытие шаблона сделано в глобальном toolkit и всё описанное выглядит вот так:

$t = rt::t('menu', 'меню сверху');
$t->link = '/';
echo $t;

В данном примере в секции «меню сверху» шаблона «menu» переменной link я присвоил значение ’/’. Шаблон выполнится при любом преобразовании объекта в string (например, когда я сделаю echo). Если переменной присвоить null, то атрибут тега, в котором она находится пропадёт. А если переменная входит в тег, то удалится сам тег. В следующем шаблоне, если я присвою переменной «hide» null, пропадёт тег «b» и атрибут title тега «a»:

<a href="/" title="{$hide}"><{$hide}b>текст<{$hide}/b>

Минимальная логика, которая есть в шаблоне на данный момент — возможность подстановки значения переменных из списка и отрицание переменной. Выглядит это вот так: {$var?value1?value2?value3}, значений valueN может быть сколько угодно, нумерация начинается с нуля, значения выбираются по номеру (для тех кто в теме — и по модулю длины выбираемой последовательности). Пустое значение считается null-значением, со всеми его свойствами, которые я рассмотрел выше.

Частный случай такой конструкции — конструкция {$!var}, которая на значение эквивалентное false вернёт пусто (не null), а на значение эквивалентное true — null.

Эта условная конструкция полезна шаблону тем, что позволяет сосредоточить максимум данных о шаблоне в самом шаблоне, например, в циклических конструкциях туда можно поместить имена стилей, которые должны применяться. Отрицание полезно в случаях подобных этому:

<{$hide}b><{$!hide}i>Текст<{$!hide>/i><{$hide}/b>

тут, в зависимости от состояния переменной hide, появится либо тег «b», либо «i».

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

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

44 комментария

Yota: результаты тестов

Потестировал я в выходные сеть WiMAX от «Йоты». Пока покрыто даже далеко не всё Садовое, я сходу нашёл несколько точек, где сети не видно. Внутри помещений сеть видно очень редко. Я надеюсь с ростом количества точек все эти проблемы пропадут, но пока тем что есть пользоваться сложно.

9 комментариев

Новое издание старой шутки?

Chacked (14.55КиБ)

Кажется Каганов решил повторить мою шутку 2001-го года, когда я у себя на сайте вывесил страницу, что сайт был «self-hacked», я тогда активно занимался взломами (с исследовательскими целями) и решил что будет смешно, если я «взломаю сам себя», хотя ломать было нечего — весь сайт был тогда кучей HTML-файлов, которые я правил через FTP. Кстати, архив того сайта до сих пор лежит где-то на винте, надо будет присоединить его к этому сайту.

23 комментария

Что делать, если сгорела техника от скачка напряжения

В ЖЖ-сообществе kazan появился внятный совет что делать в том случае, если техника сгорела от скачка напряжения:

Сначала пишешь официальное письмо в ЖЭК с описанием когда и что было и что у тебя из-за этого накрылось. Лучше прийти самому туда, в канцелярии на копии письма поставить отметку что оно принято и дату принятия. Если это возможно добраться до инженера, сообщить что произошло и обрадавать его тем, что подашь в суд. Затем ждешь ответа. Ответ должен быть обязательно в установленные законом сроки (1 месяц вроде, точно не помню).

Параллельно несешь погоревшую технику в сервис-центр, ремонтируешь ее, обязательно собираешь все чеки, и просишь заключение от мастера о причинах поломки техники. Когда получаешь ответ (напишут какую нибудь бла-бла-бла), готовишь исковое заявление к мировому судье по месту нахождения ответчика (точную форму заявления найди в интернете, должна быть), где указаываешь причины происшествия, прикладываешь свое письмо в ЖЭУ, их ответ, заключения мастера, чеки и просишь возместить средства затраченные на ремонт техники. Тебе назначают время, вызывают телеграммой, ты приходишь. Обычно та сторона не приходит вообще. Тебе присуждают победу, берешь постановление суда и топаешь к приставам. Я договорился таким образом, что мне зачли эту сумму в счет квартплаты. Вот и все. Ничего сложного, только муторно :)

15 комментариев

WebKit == IE8?

Как сегодня пишет AppleInsider, глава компании Microsoft Стив Балмер не отрицает возможности использования движка для рендеринга веб-страниц WebKit в одной из следующих версий браузера Internet Explorer.

Цитата из статьи на Macspoon. OMFG!

35 комментариев

Мы — пара

Мы (10.13КиБ)

Поздравьте ещё раз. Наше с женой фото победило в 210-м конкурсе журнала «Клео», который называется «Мы пара». Смысла в этом мало, но приятно.

13 комментариев

Руководитель группы

Поздравьте, с сегодняшнего дня я руководитель группы разработки внутренних сервисов в «Яндексе».

47 комментариев

«Беседы с ментами»

Увидел у Лёни Каганова интересную статью «Беседы с ментами». Вкратце суть такова: Леонид со знакомым юристом Александром Железниковым ходили по Москве и «подозрительно» себя вели, к ним подходили милиционеры…

— Это прoсьбa или тpeбoвание? — yточнил Aлeксандр.

— Кaкая pазницa, c вaми cотpyдник милиции гoворит!

— Pазницa сyщecтвенная. Coтрyдник милиции мoжет обpaщаться к грaжданинy либо с просьбой, либo с тpебованиeм. Прoсьбы гpaждaнин выпoлнять нe обязaн. А трeбoвaниям должeн пoдчинитьcя. Покaзaть содeржимоe кaрмaнoв — пpocьбa, пoскoлькy нe cyщeствуeт тaкой пpоцессуaльной ноpмы, кaк дoсмoтр нa улицe без двух пoнятых и протокола. Taкую пpоcьбу мы выпoлнять откaзывaeмся. В cмыcле, кармaны не пoкaжeм.

— Давaйтe-ка быcтро в машину, прoедeм в отдeлениe! — привычнo peшили милиционepы.

— В oтделение! — охoтнo pасcказывaл Aлeксaндр, пoка мы шли к мaшине, — в пoмещениe, кудa нет доступа лицaм, не имeющим отношения к этомy пpoцесcуaльнoму дейcтвию. Вы ceйчac произвeли aдминиcтpaтивноe задеpжaние. Пpoизвeдeм доcмотp кapмaнов в oтдeлении в приcутствии двyх пoнятыx oдного c нaми пола и под cоoтветcтвyющий пpотокoл дoсмотрa. Beщи при этом мы попрoсим oсматривaть в нaшем пpисутcтвии, и в cторoну их нe нoсить. Кcтати, а где жe нaша пачечкa? — вдрyг вспомнил он.

В общем, почитайте, очень весело.

31 комментарий

Yota: тестирование

Наконец сегодня получил оборудование для тестирования первого мобильного WiMAX в России. Обещали выдать ещё до праздников, но я улетал в Казань и не смог подойти. Факты, которые уже сейчас очевидны:

Скорость и покрытие. Покрыта пока далеко не вся Москва, но Yota (провайдер) трудятся над этим. Скорость в районе офиса «Яндекса» (м. Таганская) и офиса Yota (м. Красносельская) по моим замерам на скачивание достигает 2,5 мегабит (но иногда бывают пики в 6 мегабит), на закачку — до 1,7 мегабит. Это по стандартам WiMAX немного, видимо, покрытие в этих районах недостаточное.

Стоимость. До 31-го марта 2009-го обещают что будет бесплатно, потом — 900 рублей в месяц. Я считаю, что это очень неплохо. Для юридических лиц цены будут другие.

Драйвера. Пока драйвера (кстати, грузятся прямо с модема, который распознаётся как флешка) есть только под Windows, представитель Yota сказала, что неофициальные драйвера для Mac и Linux уже есть, официальные будут к концу года. На презентации три человека (два с MacBook Pro, один с MacBook Air) сумели подключить устройство к «Маку», через Windows, которая стояла в Vmware.

Дополнение: дома (район м. Войковская, около МАИ) Yota WiMAX недоступна.

10 комментариев

Мы проспали экологическую катастрофу

Читаю Каганова, отзывы на фильмы «Валли» и «Кунфу Панда»:

Не бyдем гoвoрить o том, что сaмa идея — oтзвук журнaлиcтскoй истeрики пpoшлогo вeкa, кoгдa были в осoбой моде вoпли нa темy, что, мол, в 21 векe люди в гoрoдах будyт xодить в мacкaх oт нeдостaтка кислopодa, а лeсa и pеки yмрут от зaгpязнений. Ho нacтyпил 21 век, объемы пpoмышленнocти и размeры гоpoдов выpосли, a экoлогическая кaтаcтpoфа волшeбным обpaзом не наcтyпилa.

Вы знаете, мы с женой на пару дней съездили более чем на 1000 км от Москвы, в Лениногорск, вот там экологическая катастрофа не наступила. Чистый воздух, масса деревьев (и сажают новые!), голубая, прозрачная вода в озёрах и из-под крана. А ночью на небе куча звёзд, очень чётко видно как идёт Млечный Путь.

По возвращении в Москву, первые несколько часов задыхаешься, а вода в ванне кажется жёлтой, потом, ничего, привыкаешь. Казань (мы проездом через Казань ездили) вообще кажется лысенькой, что сами казанцы объясняют тем, что вся мэрия из деревень, для них деревья «по деревенски», «несолидно», вот и вырубили почти всё.

Так что в Москве (где и живёт Каганов) экологическая катастрофа наступила, просто её не заметили.

Оставить комментарий

Blok: akyn

Как-то проснулся в 4 ночи от того, что придумал неплохой шаблонизатор. Я его запрограммировал, он полежал две недели, а сегодня решил его прикрутить к своему блогу. Движок получился в два раза быстрее предыдущего (что, правда, всё равно не спасает от «провалов» у моего хостера, когда время генерации страницы поднимается с нормальных сотых или десятых до целых секунд) и обходится без разбора HTML. Что ещё хорошо — понятно куда его оптимизировать, есть запас.

Шаблонизатор называется (у Бирмана каждая строчка кода носит какое-то красивое название, чем я хуже?) «Акын», ибо, натурально, «что видит, то поёт». Плохо, что API пришлось серьёзно поменять, так что если что-то отвалится — пишите.

25 комментариев

Apple: лицо у нас с другой стороны

Наверное Apple — фирма с человеческим лицом и заботой о клиентах, но лицо у них с противоположной стороны и забота получается соответствующая. Прилетели в Казань, ни с одной из казанских SIM-карт, которые у нас есть («Мегафон» и TELE2) не удаётся позвонить по iPhone 3G. Он включается, показывает сеть, но возможности набрать номер нет. iPhone легальный.

У меня уже возникла мысль воспользовать законом о защите прав потребителей и вернуть телефон в магазин:

А вот другое немаловажное новшество, включенное в закон. Если раньше гражданин, купивший, скажем, мобильный телефон, которым не мог нормально пользоваться, так как слышимость была отвратительной, оказывался в проигрыше, потому что продавец все списывал на «конструктивные особенности» аппарата (в таком случае вернуть его или обменять было нельзя), то теперь в закон введено такое понятие, как товар, «не соответствующий целям». Поэтому подобный телефон подлежит незамедлительному обмену.

P.S. Дима, с днём рождения!

20 комментариев

CSS и Internet Explorer

На сайте MSDN нашёл полезную страницу, где очень понятно, по разделам описывается что из CSS умеют различные версии Internet Explorer (5.0, 5.5, 6.0, 7.0, 8.0beta1, 8.0beta2, 8.0).

4 комментария

А с платформы говорят: это город Ленинград

Наверное Apple/Mac очень дружественная платформа, но при переносе на Windows этого совсем незаметно. Я уже писал о проблемах, с которыми столкнулся, пытаясь зарегистроваться в iTunes Story. А вчера заметил, что в списке городов нет Санкт-Петербурга, но есть Ленинград.

8 комментариев