Проблема: Windows 7 и Samba (Linux)

Взял на работе другой ноутбук — Dell Latitude E4200, он идёт у нас с Windows 7. Всё хорошо
Проблема решается следующим образом: либо нужно поставить последнюю превью Samba 3.5 и включить в настройках «max protocol = smb2», либо запустить под Windows 7 «secpol.msc» (Win+R, secpol.msc, Enter) и в «Local Policies» («Локальные политики») → «Security Options» («Параметры безопасности») → «Network security: LAN Manager authentication level» («Параметры безопасности: уровень подлинности LAN Manager») поменять значение на «Send LM & NTLM use NTLMv2 session security if negotiated» («Отправлять LM и NTML — использовать сеансовую безопаcность NTLMv2 при согласовании»).
Я ещё менял
«Эпл» делает очень плохой софт под Windows
Софт фирмы «Эпл» под Windows всегда меня удивляет своей неуместностью, как дворецкий в невесомости. Он сразу лишается своей чопорности, изящества и только бессмысленно размахивает руками и делает глупое лицо.


Это скриншоты свежескачанного QuickTime, который в «Опере» пытается проиграть видеоролик. Сначала он «вёл переговоры», потом огласил мне их результат. С акцентом. Ролик так и не проиграл, кстати.
HTML5 test
Автор теста HTML5 обновил свой тест, теперь максимальное количество очков, которое может набрать браузер — 300, а не 160. Кроме того, теперь поддержка браузером кодеков для тегов VIDEO/AUDIO не влияет на основные очки, а даёт бонусные. Это правильно, так как стандартном HTML5 кодек так и не выбран.
Результаты по браузерам выглядят так:
«Сафари» 5 — 208 (ночная сборка — 220) «Хром» 5 — 197 (ночная сборка — 217) FireFox 3.6 — 139 (ночная сборка — 176) «Опера» 10.50 — 129 (10.60a 3422 — 159) Internet Explorer 8 — 27 (IE9PP2 — 32)
То есть лидером, по результатам этого теста, является пока пятый «Сафари», при этом тот же пятый «Сафари» под Windows набирает только 165 очков.
«Опера» — ещё больше вещей из HTML5
Пока я тут ною, что «Опера» не поддерживает CSS1 в полном объёме, новый билд «Оперы» (10.60а build 3419) стал поддерживать кодек WebM для тега VIDEO (у которого есть все шансы стать стандартом), HTML5 offline web applications, Geolocation API (что давно было известно), Web Workers и
Круто, ребята, очень круто. Но сделайте поддержку CSS1 уже наконец.
Идея: кнопка добавления в Google Reader
В комментариях к одному из постов, меня попросили сделать кнопку добавления RSS комментариев в «Google Reader» (если я правильно помню суть просьбы).
Мне эта идея не нравится, потому что я не знаю какое количество моих читателей пользуется «Google Reader», остальным, понятно, эта кнопка ни к чему. Я тут подумал — хорошо было бы ставить эту кнопку тем, что этим сервисом «Гугла» пользуется. Но как узнать кто пользуется, а кто нет?
Сейчас меня осенило (впрочем, скоро это не будет работать в Firefox, когда выйдет версия 3.7). Всё просто — надо найти URL по которому заходит только авторизованный пользователь «Google Reader», причём URL этот должен быть инвариантен пользователю, может это
Далее всё просто — у данной ссылки есть то свойство, значит пользователь недавно логинился в «Google Reader», если нет, не логинился. На основании этого можно ставить или убирать кнопку добавления RSS в этот сервис. Можно ещё выставить куку, чтобы в дальнейшем основываться уже на её наличии (если есть — пользователь пользуется «Google Reader», нет — ничего не значит).
Гимн России и гики
Забыли гимн России? Не беда!
Мой вариант для Windows CMD (в одну строку):
@echo off & (for /l %z in (200,1,223) do
for /f "usebackq skip=3 tokens=2 delims=:" %a in (`nslookup 62.76.96.%z`) do
set y=%a & echo %y:.= % | findstr /RV "[0-9]") & echo onВариант для Unix/Linux/Mac (bash):
dig -t ptr +short {200..225}.96.76.62.in-addr.arpaВыяснил группу крови
IE, непрямоугольные блоки и тени

Что я хочу сказать по поводу статьи «Хитрая тень» в блоге Олега Мохова?
<html>
<head>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style type="text/css">
.vml {
behavior: url(#default#VML);
-ms-behavior: url(#default#VML);
font: 12px Tahoma, sans-serif;
}
#bar1 {
width: 400px;
height: 60px;
color: white;
padding: 12px;
display: block;
}
#bar2 {
width: 20px;
height: 22px;
padding: 12px;
color: white;
position:absolute;
}
</style>
</head>
<body>
<v:roundrect class="vml" id="bar1" fillcolor="navy" strokecolor="navy" strokeweight="1px" arcsize="0.1">
Привет, ребята из W3C! Отсталый Internet Explorer уже много-много лет умеет смешивать векторный язык и
HTML, а в 2010 году не все продвинутые браузеры так умеют.
<v:shadow class="vml" on="true" opacity="0.3" color="navy" offset="7px,5px" />
</v:roundrect>
<v:shape class="vml" id="bar2"
fillcolor="red" strokecolor="red"
coordorigin="0 0" coordsize="200 200"
path="m 1,1 l 800,1, 800,400, 1800,400, 1800,1500, 1,1500, x e">
<v:shadow class="vml" on="true" opacity="0.3" color="red" offset="7px,5px" />
<p>Привет<br />ещё раз!</p>
<p>Вы знаете, уже Internet Explorer 5.0 умеет делать непрямоугольные блоки.</p>
<p>Причём, делает это непринуждённо.</p>
</v:shape>
</body>
</html>Что IE умеет круче ещё с пятой версии.
Добавлено позднее: в комментариях мне подсказывают, что в IE8/9 надо либо включать режим эмуляции, либо использовать
Как выехать необманутым с автосервиса
Для автолюбителей в ЖЖ
Браузеры и стандарты: Ахиллес и черепаха
На «Хабре»
Упомянутая статья за полгода не обновлялась (о чём говорит отсутствие упоминания об SVG в IE9), так что предпосылки неверные. Предпосылки неверные, но вывод, впрочем, правильный. В плане стандартов будущее крайне далеко.
Должен сказать, что любые тесты браузеров — это сферические кони в вакууме. Какие, нахрен, ACID3, какие SunSpider? «Опера» до сих пор не поддерживает CSS1! Ибо сказано:
The format of a percentage value is an optional sign character (’+’
or ’-’, with ’+’ being the default) immediately followed by a number (with or without a decimal point) immediately followed by ’%’.
CSS1, раздел 6.2, проценты могут быть указаны с десятичной точкой. Мне кажется, это означает, что я могу указать дробные проценты и всё будет хорошо. Во всех браузерах так и есть. Во всех, кроме «Оперы». Самая распоследняя «Опера» округлит их вниз.
Если этот браузер заявляется поддержку селекторов CSS3, то для меня, как разработчика, это должно, видимо, означать, что работает и любая их комбинация, не так ли? Иначе, что толку от поддержки селекторов по одному в строке?
И вот реальная задача — делал я галереи на сайте без использования JavaScript, на голом CSS (спасибо селектору «:target», это самое крутое, что появилось в CSS за последние годы). Простая задача — если «:target» не указывает ни на один из тегов в текущей галерее, нужно указать, что выбрано первое изображение.
Да, пожалуйста (у меня первое изображение это последний элемент списка):
.gallery li:not(:target) ~ li:last-child a {
background: #fff;
color: #000;
}
.gallery li:target ~ li:last-child a {
background: #aaa;
background: rgba(170, 170, 170, 0.5);
color: #fff;
}Несложно же. «Опера» и «Файерфокс» чудесно с этим справляются, почему бы и нет, все селекторы им знакомы. Но это не работает в «Хроме» и «Сафари»
Так повсюду, в блоге IE авторы
Конечно, тут ещё сказывается тот факт, что большинство этих спецификаций находятся в стадии черновика, вот реализовала «Опера» четыре года назад в браузере
В общем, к этим стандартам нам ещё всем идти и идти, много лет. Это основной вывод. А теперь другие мысли.
Селектор «:target» хоть и самое чудесное, но, в то же время, почти самое недодуманное в CSS за последние годы. Это уже ощутили мои читатели. Конечно, «:target» добавляет интерактива в CSS, но хотелось бы, чтобы этот интерактив не касался напрямую HTML, т. е. был
Предыдущая моя заметка о conditional comments. Я уже
И ещё, как я уже писал W3C вряд ли
Четыре малоизвестных факта о conditional comments (условных комментариях) в Internet Explorer
<!--[if VML]> Код VML <![endif]-->Можно, например, проверить запущен ли браузер на Windows 7. «Семёрка» и Vista вообще сильно отличаются по возможностям по XP, так что это иногда может быть полезно. Например, в Vista/7 поддерживается TLS SNI или аппаратное
<!--[if WindowsEdition]> Это Windows 7 или старше <![endif] --><!--[if gte MyPlugn 1.2]> Мой плагин версии 1.2 и выше <![endif] -->Этот же способ позволяет изменить версию IE для проверки в conditional comments на любую — достаточно исправить значение «IE» в указанной ветки реестра и перезапустить браузер.
<!--[if (IE 7) | (WindowsEdition)]> Это IE7 или любой IE на Windows 7 и выше <![endif] -->
<!--[if (gte IE 6) & (lt IE 9)]> Это IE6-8 <![endif] -->Обнаружение версии IE в режиме эмуляции через условную компиляцию JavaScript
В свежей статье в блоге IE есть ответ на вопрос как обнаружить версию браузера Internet Explorer в любом режиме (например, в режиме эмуляции другой версии):
@_jscript_version statement is actually an indicator of which version of JScript is in use by the browser as a whole. In ALL document modes of IE9, this statement currently equates to “9”. In ALL document modes of IE8 it equates to “5.8” and in IE7 it is “5.7”
Отсюда вывод:
/*@cc_on
@if( @_jscript_version == 5.8 )
// Это полюбому IE 8
...
@end
@*/То есть (перевожу) «@_jscript_version» в IE8 всегда равно «5.8», в IE7 — «5.7» , а в IE9 — «9».
Билеты на аэроэкспресс через интернет

Оказывается, билеты на аэроэкспресс от и до московских аэропортов (Внукова, Домодедова, Шереметьева) можно купить через интернет, причём, если покупать более, чем за месяц, скидка почти 17%, иначе — 10.
Сегодня купил билет за 270 (на вокзале он стоит 300).
А ещё номер билета приходит на почту и телефон. То есть, если вы билет не распечатали, а телефон у вас с собой, то ничего страшного, номер у вас есть.
Караби-яйла
Место замечательное — природа, солнце, всё в цветах, пасутся кони, на плато, где мы находились, растут несколько видов цветов, занесённых в красную книгу. Мы были там в мае, всё было усыпано цветущими пионами.







Жили на метеостанции, кровати, холодная вода, газовая плита, туалет во дворе, перед отъездом — баня. Ничего экстремального, как мы планировали вначале, удалось даже договориться доехать до станции, а не идти пешком. Несколько часов езды по горам и бездорожью, и мы на месте.




В первый день решили сходить для пробы в небольшую пещеру — «Сказка» (15 метров), внутри было красиво,




«Сказка», конечно, очень небольшая пещера, если ничего не путаю, всего два небольших зала. В «Виоле» (другое название —






Кстати, те металлические штучки, которые у меня на первых картинках в галереях (напоминаю, что читающие трансляции и RSS галерею не видят) называются «марки», на них написано (сверху, по часовой стрелке): название пещеры, год открытия, кадастровый номер, глубина или протяжённость.
Спускаться в пещеры трудно, иногда — очень страшно,
В «Большом Бузулуке», когда я поднимался из ледяного девятнадцатиметрового кармана было страшно — кроль вдруг оказался горизонтально нагружен, что могло привезти к его выстёгиванию, решил пристраховкой верёвки под кролем коротким усом.
В «200 лет Симферополя» на довольно длинной перестёжке (порядка 30 метров) меня хорошо «резинило» на верёвке, на мне висел транс (транспортный мешок) с верёвкой, что добавляло веса; когда я наверху этой перестёжки проходил по перилам, пот лил ручьём, нервное напряжение от «резины» и неудобного перехода.
На следующий день мы пошли в пещеру «Дублянского» (88 метров), делал навеску я, снимал тоже я, есть чем похвастаться — хорошо навесил. Пещера по площади много больше «Виолы», думаю, мы прошли лишь небольшой кусок, хотя в пещере провели, вместе со спуском и подъёмом, около 6…7 часов. Огромный трёхмерный лабиринт, образованным гиганскими сталактитами, упавшими с потолка пещеры.







Новый день, пещера «Крубера», 62 метра. Два зала, внутри не фотографировались и пещера



В тот же день сходили в «Большой Бузулук», 88 метров, в основном горизонтальная пещера, обледенелая (оттаивает только осенью), холодная, в дальнем конце, в центре, если спуститься по ледяному склону, есть карман в 19 метров, куда спустились только мы втроём — я, Гарыня, который был нашим старшим в походе и пришлый парень из Харькова, Роман, который на пару дней присоединился к нашей группе. Внутри кармана ещё холоднее, есть небольшой гротик, где спят летучие мыши.






Следующий день, были в «Костере», 67 метров, плюс два шкурника, мы с Гарыней не проходили в оба, пришлось расширять и даже в этом случае нам пришлось туговато, но всё обошлось. Собственно, только шкурники и запомнились. Ещё был лаз вниз, но у нас с собой не было верёвки.




Кажется, потом мы с женой два дня просто отдыхали и гуляли по плато, а ребята сходили к Чёрному морю. Мы тоже сходили на точку, с которой видно море, но до него было несколько километров по горам.





Последняя пещера, в которой мы побывали — «200 лет Симферополя», 102 метра. Справедливости ради надо отметить, что я сходил ещё в одну — «Мамина» (мама тут не причём, её открыл Аби Усеинович Мамин), это неинтересная горизонталка с тремя залами, протяжённостью в 76 метров и глубиной в 27. Неинтересна пещера, прежде всего, потому, что основательно загажена туристами — при наличии навыков спуститься в неё можно без снаряжения.
Вернёмся к «200 лет». Вход в пещеру найти довольно трудно — небольшая дыра в земле, куда с трудом протискивается человек, внутри — извилистый лаз, с кучей перестёжек, потом огромная зала метров 30 высотой и ещё спуск. Мы обнаружили, что можно спуститься ещё дальше, метров на 15, но потом начинался очень узкий колодец, который мы штурмовать не стали — опасно, снаряжение проходит с трудом.
Висеть под потолком на такой высоте странно.
Так что поверьте на слово, это жутко и красиво.


Расставаться с Караби было жалко. Красиво, спокойно, никакой суеты, в пещерах — (часто) нет звуков и света. Мы даже специально выключали фонарики и молчали, чтобы почувствовать как это — когда темно и тихо
Несмотря на каждодневную усталость, это было безумно интересно и необычно, спасибо Гарыне, что он втянул нас в спелеологию. Я не знаю, буду ли я заниматься этим в дальнейшем, но эту поездку не забуду.
P.S. Больше снимков можно увидеть в моём альбоме на «Яндекс.Фотках» (там же есть фотографии, которые снимал Денис).
КГУ → КФУ
Вот так живёшь, а то, что родной Казанский Государственный Университет имени
У меня военник СССР и диплом об окончании КГУ, а ещё я прожил всё детство на улице Свердлова в родном городе. Последняя теперь проспект Пятидесятилетия Победы.
Scalar type hinting в PHP 5.4.X или 6.X
Ну и раз уж я решил перед сном пописáть о PHP, то продолжу. Ещё новость из мира PHP — в PHP будет scalar type hinting. Илья Альшанетский добился включения своего патча в код.
Сейчас type hinting в PHP есть, я могу указать явно, что параметр будет объектом определённого класса или массивом:
function test1(MyClass $var) {}
function test2(array $var) {}Скоро можно будет указать, что передаваемый аргумент должен быть скаляром. Жаль только, что появилась только возможность указать определённый тип. Если «object» указать можно, то «scalar», к сожалению, нет. Это странно. Придётся указывать явно:
function test3(string $var) {}Что поможет снизить количество ошибок в отдельных случаях, но как быть, если мне такая жёсткость ни к чему, если я хочу оставить возможность преобразования типов, там где это сделано хорошо (преобразование типа «array» в «string» в PHP сделано бессмысленно, посмотрите на Perl, там это имеет смысл)? Да и как мне указать, что мне всё равно — придёт int или float? Видимо, только явным приведением типа при вызове, а про возврат значения по ссылке, в этом случае, придётся забыть.
В отдельных случаях, хотелось бы, чтобы передав объект в такой типизированный параметр, у объекта дёрнулся метод __toString, а то и __toNumber, если указано, что должен быть передан числовой скаляр.
Надеюсь, не одному мне этого хочется и Илья продолжит работу над патчем.
Добавлено через несколько минут: прочитал комментарии, оказывается идут дискуссии о добавлении ключевых слов «scalar» и «numeric». Кроме того, Илья рассуждает и о преобразованиях типов в рамках type hinting. Ура.
PHP-FPM будет входить в состав PHP 5.3.x
Отличная новость
Если вы не знакомы с этим патчем, то перечислю основные отличиями
А так же возможность задавать заговолок ответа при фатальных ошибках PHP, поддержка возможности nginx 0.5.9+ передавать большие
В общем, исключительно полезный патч. Жаль, что в ветку PHP 5.2.X его
На ветку 5.3.X вряд ли пока переходит много народу. Я попробовал мигрировать пару проектов, неудачно. Один завис
Москва → Казань → Москва
Регулятор громкости в плеере для IE
Я недавно делал плеер для Internet Explorer по функциональности похожий на VideoJS. Как я уже упоминал, там ни одной картинки — всё VML. Регулятор громкости и кнопочки —
Попробую описать как сделан регулятор громкости, но писать буду под стандартные браузеры, так что код будет несколько отличаться.

На рисунке мы видим прямоугольник со скруглёнными углами, это сумеет сделать даже моя бабуля (в IE для этой цели я использовал VML):
#video_volume {
width: 34px;
height: 20px;
font: 14px Arial;
color: white;
background: gray;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
-khtml-border-radius: 0.5em;
border-radius: 0.5em;
}У нас получается пустой скруглённый прямоугольник. Теперь надо нарисовать уменьшающиеся прямоугольники. Как? Первая идея, которой я и воспользовался — вложить теги внутрь друг друга и сделать
<span>❚<span>❚<span>❚<span>❚<span>❚</span></span></span></span></span>В стиле прописываем абсолютную позицию
#video_volume span {
position: absolute;
margin-top: 1px;
}Получилась этакая рекурсия стилей. Уже близко к тому, что хочется получить.

Теперь надо снизу обрезать лишнее. В IE я просто ограничил размеры и выставил
#video_volume div {
clip: rect(auto, auto, 14px, auto);
position: absolute; /* crop работает только у абсолютно позиционированных элементов */
/* кстати, ребята из W3C, почему вы забыли про crop? почему только прямоугольник, зачем position? */
}Почти то что нужно, но повёрнуто в другую сторону:

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

Получился такой код:
<head>
<style type="text/css">
#video_volume, #video_volume div {
width: 34px;
height: 20px;
font: 14px Arial;
color: white;
background: gray;
padding-right: 5px;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
-khtml-border-radius: 0.5em;
border-radius: 0.5em;
}
#video_volume div {
clip: rect(auto, auto, 14px, auto);
position: absolute;
direction: rtl;
}
#video_volume span {
position: absolute;
margin-top: 1px;
}
</style>
</head>
<body>
<div id="video_volume">
<div>
<span>❚<span>❚<span>❚<span>❚<span>❚</span></span></span></span></span>
</div>
</div>
</body>Кстати, «Опере» rtl правильно не работает (по крайней мере в моей 10.60 alpha), нужно расставлять margin, но я этого делать не буду.
Аппаратное ускорение в пятом «Сафари»

На «Хабре» сравнили вышедший вчера Safari 5 и Internet Explorer 9 Preview 2. Оба браузера обладают аппаратным ускорением (на скриншоте — результаты теста «Flying Images»).
Видно крайне низкий показатель FPS у «Сафари». Странно, но под «Мак» таких проблем нет, похоже под Windows аппаратное ускорение неполное, если оно вообще там есть.
У меня на машине «Сафари» 5 показывает в том же тесте 1…2 fps, тогда как «Опера» 10.60a — около 35. Заметьте, у «Оперы» аппаратное ускорение не заявлено.