«Go!messenger» для PSP вышел!
«Go!messenger» — официальное приложение (имеется ввиду не «homebrew»), которое работает на обеих версиях PSP («fat» и «slim») и позволяет обмениваться видео-
- качаем его себе
- распаковываем архив
- содержимое PSP/APP/ULES00856 записываем в PSP/GAME/ULES00856
- копию файла DATA.DRM кладём в PSP/APP/ULES00856
- запускаем «Go!messenger» как обычное приложение
Чудесный Lua
Язык программирования Lua (переводится с португальского как «луна»), в целом, мне нравится — очень гибкий, красивый, целостный. Программировать на нём приятно, а модель, заложенная в основу, настолько гибкая, что позволяет создавать
Одна из мощных функций языка — метатаблицы, позволяющая переопределить операции для любого типа данных, включая любые составные. Вот например:
mt = {}
function mt.__add (a,b)
return { x = a.x + b.x, y = a.y + b.y }
endЗадаётся метатаблица (mt) у которой ключ __add (функция, отвечающая за сложение) определена как функция сложения вектора с двумя координатами. Например, в следующем примере (все примеры взяты из статьи «Язык Lua и использование скриптов на нём в программах на Си++») я устанавливаю заданную метатаблицу «mt» для переменной «u», причём сложение «u» и «v» работает правильно — поскольку Lua ищет обработчик сложения сначала у второго оператора, в случае неудачи — у следующего.
u = { x = 1, y = 2 }
v = { x = 0, y = 1 }
setmetatable ( u, mt ) -- установить для таблицы u метатаблицу
w = u + v -- осуществить сложение таблиц
print ( w.x, w.y )Самое интересное — дальше. Тут мой мозг не ломается, но без руководства я бы не догадался. Дело в том, что метатаблица «mt», точнее её операция «__add» определена некорректно. Сложение пройдёт великолепно, но у переменной «w» новой операции сложения не будет — метатаблица «mt» для этой переменной не установлена. Правильный способ определения вот такой:
function mt.__add (a,b)
return setmetatable ( { x = a.x + b.x, y = a.y + b.y }, mt )
endТ. е. таблица устанавливается ещё и для получившегося выражения.
Для тех, кто уже ничего не понимает, но знает PHP. Запись { x = a.x + b.x, y = a.y + b.y } на PHP выглядела бы как array('x'=>$a['x']+$b['x'], 'y'=>$a['y']+$b['y']).
Каганов про генетически-модифицированные продукты
Понравилась статья Леонида Каганова «Хочу питаться
Друг рассказывал: его знакомая отказалась есть печенье, прочтя в составе «модифицированный крахмал». Будучи пищевиком по образованию, напрасно он ей объяснял, что крахмал C6H10O5
генетически-модифицированным быть не может просто за неимением генов, и это специфический термин технологий обработки, навроде «вода родниковая исправленная». Тщетно.
Меня, видимо, заклинило на генетической модификации пищевых продуктов и я не мог взять в толк как вещество крахмал может быть
Резюме статьи на основной аргумент против
Гены встроятся в организм… Ну армагидец же! В наш организм поступает через ротовой мусоропровод килограммы клеток со своими генами — животные, растительные, грибы, микробы, сырые, вареные, жареные. Это все — гены. И если вы съели
генетически-модифицированный апельсин с пересаженным геном лосося, то не один ли хрен, как если б вы съели лосося и закусили апельсином? Если бы наша пищеварительная система не представляла из себя охрененный биореактор, наполненный едкой соляной кислотой, активными ферментами, химикалиями, фильтрами и прочим оборудованием, а наши клетки были бы открыты для любых генов извне, то у нас бы выросли рога от первой же мясной котлеты, а ботва на макушке — от котлеты вегетарианской.
sgn(x) на ассемблере
Давненько я не брал в руки ассемблер. Лет так 8, наверное (речь идёт об ассемблере под 80x86, это, кстати,
cwd
neg ax
adc dx, dxВот объяснение как это работает:
Здесь начальный аргумент лежит в ax, значение помещается в dx. Работает следующим образом: сначала cwd расширяет знак ax в dx, после чего в dx лежит -1, если аргумент отрицательный, а иначе 0. neg ax меняет знак ax, но это на самом деле неважно, а важно то, что эта инструкция помещает в флаг carry единицу, только если аргумент был ненулевой.
Наконец adc dx, dx складывает dx с самим собой, добавляет carry от второй инструкции, и помещает результат в dx. В результате выходит:
— если ax<0, то dx вначале -1, carry равен 1, результат равен -1*2+1 = -1 (во как!) — если аx=0, то dx вначале 0, carry равен 0, результат 0*2+0=0 — если ax>0, то dx вначале 0, carry равен 1, результат 0*2+1=1
Aubergine iMac Pro
Как известно, если в фильме есть компьютер, это чаще всего «Мак», очень уж они фотогеничны. В анимэ «Афросамурай» вместо надкусанного яблока, логотипа фирмы «Apple», используется баклажан.

Программисты на PHP — новые чукчи?
Мне кажется, про программистов на PHP скоро будут складывать анекдоты, как про чукчей. Посмотрите какой чудесный перл из конференции ru_php в ЖЖ:
Пытаюсь сконвертировать .doc файл в .txt , но php не понимает команды без точного объяснения:
$wf=fopen(«myfile.txt»,«w»); $i=0; $f=file(«laplap.doc»); while($i<10) { fwrite($wf,$f[$i]); $i++; } fclose($wf);
может есть другой способ? спасибо
Я очень боюсь поверить, что человек это пишет всерьёз.
Мозг vs. Знания
Безграмотность — состояние, в котором человек не знает, что такое местоимение, и не умеет извлекать квадратный корень из двадцати семи целых четырех десятых. Зато знает кучу всякой ерунды, а в частности: какой из семидесяти практически неотличимых друг от друга видов лиловой морской змеи ядовитый; как обработать смертоносную мякоть дерева
саго-саго, чтобы приготовить питательную кашу; как предсказать погоду по поведению древесногокраба-взломщика; как управиться с лодкой в безбрежном океане при помощи кусочка веревочки и глиняного изображения дедушки; как извлечь необходимые витамины из печени свирепого ледяного медведя — ну и всякие подобные мелочи. Как ни странно, все образованные люди прекрасно знают, что такое местоимение, но понятия не имеюто саго-саго.
Терри Пратчетт.
Поздравляю (лытдыбр)!
Марина, поздравляю тебя с защитой второго красного диплома! Завтра рано утром прилечу поздравить лично!
♥♥♥
N-dash, M-dash — всё что нужно знать из типографики?
На «Хабрахабре» появилась очень интересная статья «Чёрточки: только ли тире, минус и дефис?», цитата из финальной части:
Итак, девять различных чёрточек:
«дефисоминус»
(-) — вместо всех остальных чёрточек при отсутствии технической возможности «дефис» (‐) — для разделения частей слова: «светло‐серый», «по‐моему», «кое‐кто» и т. п. «минус» (−) — математические выражения: 2 − 3 = −1 «цифровая чёрточка» (‒) — номера телефонов и другие цифровые коды «символ переноса» (­) — в (длинных) словах в тех местах, где можно сделать перенос «чёрточный буллит» (⁃) — маркер списка «короткое тире» (–) — западная типографика «длинное тире» (—) — русская типографика «горизонтальная черта» (―) — диалоги
Вопрос о неудобном: «юзабилити» на сайте
Хочу обратиться ко всем тем, кто часто посещает мой сайт и умеет оставлять на нём комментарии: чтобы вы хотели измениться в навигации по сайту? Я хочу поменять местами стрелочки движения, сделать вывод статей по ключевым словам, сделать вывод трёх похожих статей (опять же по ключевым словам) и доделать навигацию по календарю.
Думаю, у меня глаз замылился.
Полный дур дом!
Кстати, обсолютно чудесное сообщество есть в ЖЖ — bestof_woman_ru, полное желчи, но познавательное, ведь это реальные выдержки из женских форумов. Сегодня встретил там просто очаровательную ошибку — «полный дур дом». Хотелось бы сделать эту фразу названием этого сообщества.
Закон «об административной ответственности за нарушение покоя граждан и тишины в ночное время в городе Москве»
Такое ощущение, что некоторые граждане даже не подозревают о том, что существует закон г. Москвы от 12 июля 2002 г. №42 «Об административной ответственности за нарушение покоя граждан и тишины в ночное время в городе Москве» (и его аналоги в других регионах).
Этим гражданам кажется, что требования тишины в ночное время — это
Самара! Самара! Самара!

Я на КВН, Высшая лига, болею за Самару (СОК). Ребята действительно хорошо играли, совершенно не стыдно было носить их футболку.
Мы начинаем КВН!
Бесплатно побывал на выступлении высшей лиги КВН, благодаря ведущему сайта «КВН для ВСЕХ» (спасибо тебе большое!), которому я в свой время помогал доделать «Регистр» под нужды сайта. В составе болельщиков команды «СОК» (новая футболка дома).
Видел вживую Маслякова, Медведева, членов жюри — Верника, Гусмана, Ефремова, Макаревича, Эрнста, Ярмольника.
P.S.
Samsung D880 DuoS

Купил папе в подарок (у него день рождения скоро) Samsung D880 DuoS. Это пока один из немногих (не считая китайских) телефонов, который «честно» умеет работать с двумя
Что несколько портит картину — переключение исходящего номера. Это делается нажатием на ту же специальную кнопку, но только с перезагрузкой телефона. Какой в этом глубокий смысл я не понимаю, не думаю, что невозможно было сделать это без перезагрузки. В целом, телефон довольно большой, по фотографии это не видно, подходит для старшего поколения — достаточно широкие кнопки, большие значки и цифры на экране.
Комплектация
Крылаааатые качели, летят-летят, летят…
Все в детстве делали оборот 360° на качелях? Ну, если
Утверждение мифа: на качелях жёсткой конструкции, раскачавшись, можно сделать оборот 360°. Статус: частично подтверждён. Комментарии: циркач в седьмом поколении подтвердил миф, сделав несколько полных оборотов на цирковых качелях, пока Тори, Кэри и Грант наблюдали за ним. У членов команды не хватило сил сделать полный оборот самостоятельно.
Циркач в седьмом поколении! Ну надо же!
Если вас обрызгал скунс
Рецепт жидкости для удаления запаха скунса:
- литр трёхпроцентного раствора перекиси водорода H²O². Перекись со временем превращается в воду, так что используйте новую, нераскупоренную бутылку
- ¼ чашки (50 мл.) пищевой соды
- 1 чайная ложка (5 мл.) жидкого мыла
- 1 пару резиновых перчаток
Жидкость надо смешать непосредственно перед использованием в открытом контейнере, хранить её нельзя — может взорваться! Втирать жидкость перчатками, избегать попадания на лицо и глаза, через 10 минут смыть.
PHP 5.3.0: Прощай .htaccess
Я уже достаточно давно работаю в конфигурации nginx + FastCGI PHP (без Apache в качестве backend). Это более эффективно — экономит память и система, в целом, более устойчива, производительна, легче в управлении (приходится конфигурировать один сервер, а не два). Единственное, чего нехватало — настройки PHP для определённого хоста (так называемые «Local Value» в phpinfo).
Так вот, в PHP 5.3.0 ситуация изменится:
— Improved php.ini handling: (Jani)
. Added «.htaccess» styleuser-defined php.ini files support for CGI/FastCGI
. Added support for special [PATH=/opt/httpd/www.example.com/] and [HOST=www.example.com] sections. Directives set in these sections can not be overriddenby user-defined ini-files or during runtime.
Этого мне нехватало куда больше, чем пространств имён и «?:», который там тоже появятся. По правде говоря, там есть ещё более значительное для меня изменение — Late Static Binding вкупе с __callstatic и $foo:myFunc(). Или даже «Improved PHP runtime speed and memory usage: Added garbage collector».
Разрушители
Оказывается, в «Википедии» можно найти краткое изложение всех выпусков передачи «Myth Busters». Это единственная передача по которой я скучаю с тех пор как перестал смотреть телевизор.

Например, известный миф:
Утверждение мифа: золотые рыбки не могут запомнить
что-либо больше, чем на 3 секунды. Статус: опровергнуто. Комментарии: Джейми натренировал свою золотую рыбку двигаться по сложному маршруту, руководствуясь цветными картинками. Через месяц его рыбка проплыла такой маршрут без помощи со стороны Джейми.
PHP 5.2.5 высыпается в кору
Если у вас PHP 5.2.5 высыпается в кору и gdb показывает, что ошибка произошла в sapi_deactivate, поставьте патч из CVS, должно помочь.