Диск WD щелкает. Простое решение

На двух ноутбуках жили-были жёсткие диски фирмы WD, внезапно на одном ноутбуке диск умер насовсем, перед этим часто и неприятно щелкая головками.
Я насторожился, второй ноутбук тоже щёлкал, но реже и тише.
Встроенная лень забраковала вариант с утилитой wdidle3, решение нашлось более простое и автозапускаемое: https://code.google.com/p/quiethdd/downloads/detail?name=quietHDD_v1.5-build250.zip&can=2&q=

Выставил значения выше 128, а точнее почти все на 250, щёлкать перестал, добавил в автозапуск)

#роутер #dlink #взлом #kisski #ipad #вирус

Будь в курсе ;(

Роутер d-link был взломан, через чей-то комп пока меня не было в городе, внезапно появилась реклама на айпаде, сначала подумал “откуда вирусы на IPad?”, потом проверил мобильный интернет, реклама пропала, значит дело в роутере.

В настройках manual internet connection
Сменил Primary DNS adress: 91.224.160.10
на: receive DNS from ISP

Бывает же такое (

Вывод подменю отдельно от основного меню в WordPress

Код функции:

<?php
/**
 * The separate sub-menu
 *
 * Optional $args contents:
 *
 * container - Whether to wrap the ul, and what to wrap it with. Defaults to 'nav'.
 * container_id - The ID that is applied to the container. Defaults to blank.
 * container_class - the class that is applied to the container. Defaults to 'sub-menu-container'.
 * submenu_class - CSS class to use for the ul element which forms the menu. Defaults to 'sub-menu'.
 * string xpath - xPath expression.
 * echo - Whether to echo the menu or return it. Defaults to echo.
 *
 * @author Oleg Murashov <o.murashov@gmail.com>
 * @link http://omurashov.ru/wordpress/separate-output-menu-and-submenu/ Documentation
 * @param array $args Arguments
 * @return string|void.
 */
function get_submenu($args) {
    $defaults = array(
        'container' => 'nav',
        'container_id' => '',
        'container_class' => 'sub-menu-container',
        'submenu_class' => 'sub-menu',
        'submenu_id' => '',
        'xpath' => "./li[contains(@class,'current-menu-item') or contains(@class,'current-menu-ancestor')]/ul",
        'theme_location' => '',
        'echo' => true
    );

    $args = wp_parse_args( $args, $defaults );
    $args = (object) $args;

    $menu = wp_nav_menu(
        array(
            'theme_location' => $args->theme_location,
            'container' => '',
            'echo' => false
        )
    );

    $menu = simplexml_load_string($menu);

    $submenu = $menu->xpath($args->xpath);

    if (empty($submenu)) {
        return;
    }

    // Set value of class attribute
    $submenu[0]['class'] = $args->submenu_class;

    // Add "id" attribute
    if ($args->submenu_id) {
        $submenu[0]->addAttribute('id', $args->submenu_id);
    }

    if ($args->container) {
        $submenu_sxe = simplexml_load_string($submenu[0]->saveXML());
        $sdm = dom_import_simplexml($submenu_sxe);

        if ($sdm) {
            $xmlDoc = new DOMDocument('1.0', 'utf-8');
            $container = $xmlDoc->createElement($args->container);

            // Add "class" attribute for container
            if ($args->container_class) {
                $container->setAttribute('class', $args->container_class);
            }

            // Add "id" attribute for container
            if ($args->container_id) {
                $container->setAttribute('id', $args->container_id);
            }

            $smsx = $xmlDoc->importNode($sdm, true);
            $container->appendChild($smsx);
            $xmlDoc->appendChild($container);
        }
    }

    if (isset($xmlDoc)) {
        $output = $xmlDoc->saveXML();
    } else {
        $output = $submenu[0]->saveXML();
    }

    if (!$args->echo) {
        return $output;
    }

    echo $output;
}
?>

Работа с функцией очень похожа на работу с wp_nav_menu(). Параметры передаются в виде массива ключ-значение. К обязательным ключам можно условно отнести только theme_location, значение которого определяет основное меню, из которого мы будем выдергивать вложенные.

Ключ xpath позволяет определить поведение функции. По умолчанию, выбирается подменю для текущего активного пункта, если оно у него есть. Можно выбрать какое-то конкретное, передав строку вида ‘./li[contains(@class, "menu-item-99")]/ul’.

Ключ container задает тэг контейнер, но в отличии от wp_nav_menu(), где его значение может быть только div или nav, здесь можно использовать любой тэг, например section или span.

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

Пример вызова

<?php
    $submenu = get_submenu(array(
        'container' => 'nav',
        'container_id' => 'container-sub-menu',
        'container_class' => 'container-sub-menu',
        'submenu_id' => 'main-sub-menu',
        'submenu_class' => 'sub-menu',
        'theme_location' => 'header',
        'echo' => false,
    ));

    echo $submenu;
?>


Источник: http://omurashov.ru/wordpress-separate-output-menu-and-submenu/
Вывод подменю отдельно от основного меню в WordPress

Мир сошел с ума. Потихоньку вылезаем из танка. Перенос по слоГам на вебе.

Обновление 3 : T. connecting genius people. В комментариях ermouth привел отличный пример и поделился кодом!

Обновление 2 : поставленную задачу расстановки мягких переносов грубо, но решает. Ждём исходники http://iproc.ru/interesting/hyphenation/test/

Обновление: всё плохо. Это firefox научился переносить по слогам. Пруф: http://habrahabr.ru/post/136336/
Броня по-прежнему крепка и в танке – наши… Быстры…

Спасибо @dkhasanshin – напомнил про супер-мега-прорывное и важное обновление в wordpress и в темах – теперь wp умеет переносить слова по слогам, оптимизируя заполнение блока текстом по ширине. Пока искал – нашел ещё пример от неизвестного мне автора, но результат воодушевляет: http://ermouth.livejournal.com/580905.html

Цитирую код ermouth:

var shy = function (s) {
return s
.replace(/\s+/g," ")
.replace(/^\s|\s$/g,"")
.replace(/([а-яё])([\.,;])([а-яё])/gi,"$1$2 $3")
.split(" ").map(function(w) {
return w
.replace(/^(верх|ниж|зад)(не)/i,"$1ᴥ$2ᴥ")
.replace(/^(су|ги)(пер)/i,"$1ᴥ$2ᴥ")
.replace(/^(над|под|пара|без|раз|суб|бес|за|пере)/i,"$1ᴥ")
.replace(/^([а-яё]+?[б-джзй-нп-тф-щ][аеёиоуыэюя])([аеёиоуыэюя][а-яё]+)/gi,"$1ᴥ$2")
.replace(/([аеёоуыэюя][б-джзй-нп-тф-щ][ъь])([б-джзй-нп-тф-щ][а-яё])/gi,"$1ᴥ$2")
.replace(/([аеёиоуыэюяйᴥ][б-джзй-нп-тф-щъь])([б-джзй-нп-тф-щ][б-джзй-нп-тф-щ]*?[аеёиоуыэюяй][а-яёᴥ]*?)/gi,"$1ᴥ$2")
.replace(/([а-яё]{2}[аеёиоуыэюя])([б-джзк-нп-тф-щ][а-щыэ-яё])/gi,"$1ᴥ$2")
.replace(/([а-яё]{2}[б-джзк-нп-тф-щ])([аеёиоуыэюя][а-яё])/gi,"$1ᴥ$2")
.replace(/(ᴥ)([б-джзй-нп-тф-щъь]+)$/i,"$2")
.replace(/(ᴥ)([ъьы])/gi,"$2")
.replace(/ᴥᴥ/gi,"ᴥ")
.replace(/ᴥ/g,"\u00ad")
}).join(" ")
};

Доработанный вариант (unicode!) использует sugar.js:
shy= function shy (s) {
var r1="$1ᴥ$2",r2=r1+"ᴥ";
return String(s)
.compact()
.replace(/([а-яё])([\.,;\?\!:])([а-яё])/gi,"$1$2 $3")
.words(function(w,ctr,a) {
if (w.length<6 || (ctr==a.length-1 && w.length<10)) return w;
var prefix="", postfix="";
if (/^[^a-z0-9а-яё]/i.test(w)) prefix=w.substr(0,1);
if (/[^a-z0-9а-яё]$/gi.test(w)) postfix=w.last();
return prefix+w
.replace(/^[^a-z0-9а-яё]|[^a-z0-9а-яё]$/gi,"")

//prefixes
.replace(/^(верх|ниж|зад)(не)/i,r2).replace(/^(су|ги)(пер)/i,r2)
.replace(/^(вяче|архан|про|вы|над|по(д)?|пара|бе[зс]о?|раз|суб|за|журна|долго|ре([ск])?|транс|энерго|прези|пере|(ста|ме)ро)/i,"$1ᴥ")

//hyphener
.replace(/([а-яё]{2,}?[б-джзй-нп-тф-щ][аеёиоуыэюя])([аеёиоуыэюя][а-яё]+)/gi,r1)
.replace(/^([б-джзк-нп-тф-щ][аеёиоуыэюя])([б-джзк-нп-тф-щ][аеёиоуыэюя])([б-джзк-нп-тф-щ][аеёиоуыэюя])/gi,"$1ᴥ$2ᴥ$3")
.replace(/([аеёоуыэюя][б-джзй-нп-тф-щ][ъь])([б-джзй-нп-тф-щ][а-яё])/gi,r1)
.replace(/([аеёиоуыэюяйᴥ][б-джзй-нп-тф-щ])([б-джзк-нп-тф-щ][а-яё]?[аеёиоуыэюяй][а-яёᴥ]?)/gi,r1)
.replace(/^([оау][зщжшцйс])(ᴥ)/gi,"$1")
.replace(/([а-яё]{2}[аеёиоуыэюя])([б-джзк-нп-тф-щ][а-щыэ-яё])/gi,r1)
.replace(/([а-яё]{2}[б-джзк-нп-тф-щ])([аеёиоуыэюя][а-яё])/gi,r1)

//correctors
.replace(/(ᴥ)([б-джзй-нп-тф-щъь]+)$/i,"$2")
.replace(/(ᴥ)([йъьы])/gi,"$2")
.replace(/(ᴥ)([а-яё][лнтс]+ь)/gi,"$2")
.replace(/(ᴥ)(кала|убить)$/gi,"$2")
.replace(/([б-джзк-нп-тф-щ])(ᴥ)([аеёиоуыэюяй]{2})$/gi,"ᴥ$1$3")
.replace(/(ᴥ)([б-джзк-нп-тф-щ])(ᴥ)([б-джзк-нп-тф-щ])/gi,"$1$2$4")
.replace(/^([б-джзк-нп-тф-щ][аеёиоуыэюя])([б-джзк-нп-тф-щ])(ᴥ)([аеёиоуыэюя][б-джзк-нп-тф-щ])/gi,"$1ᴥ$2$4")
.replace(/([б-джзк-нп-тф-щ][аеёиоуыэюя])([б-джзк-нп-тф-щ])(ᴥ)([аеёиоуыэюя][б-джзк-нп-тф-щ])$/gi,"$1ᴥ$2$4")
.replace(/([б-джзк-нп-тф-щ][аеёиоуыэюя][б-джзк-нп-тф-щ])(ᴥ)([б-джзк-нп-тф-щ])([б-джзк-нп-тф-щ][аеёиоуыэюя]ᴥ[б-джзк-нп-тф-щ])/gi,"$1$3ᴥ$4")
.replace(/([б-джзк-нп-тф-щ]{2})([б-джзк-нп-тф-щ][ие])(ᴥ)([тн])([тн])([аеёиоуыэюя][аеёиоуыэюяй]?)$/gi,"$1ᴥ$2$4ᴥ$5$6")
.replace(/([б-джзк-нп-тф-щ])([б-джзк-нп-тф-щ])(ᴥ)([аиоуыэ][б-джзк-нп-тф-щ])(ᴥ)/gi,"$1ᴥ$2$4$5") //тр-иб- 2 т-риб-
.replace(/ᴥ([б-джзк-нп-тф-щ]{2})ᴥ/gi,"$1ᴥ") // - согл согл -
.replace(/^([б-джзк-нп-тф-щ]{2,})ᴥ/gi,"$1") //2+согл в начале слова
.replace(/(ᴥ)([б-джзк-нп-тф-щ])([б-джзк-нп-тф-щ]{3})/gi,"$2$1$3") //средства, сопутству...
.replace(/([а-яё])\1ᴥ/gi,"$1ᴥ$1") //две одинаковых буквы
.replace(/ᴥ([б-джзк-нп-тф-щ][аеёиоуыэюя])([б-джзк-нп-тф-щ])ᴥ([аеёиоуыэюя])([б-джзк-нп-тф-щ][аеёиоуыэюя])/gi,"ᴥ$1ᴥ$2$3ᴥ$4") // нан-ана 2 на-на-на
.replace(/^(ра)ᴥ(з)/i,"$1$2ᴥ")
.replace(/([б-джзк-нп-тф-щ])ᴥ([еу])([ежзц])ᴥ/,"ᴥ$1$2$3")
.replace(/([б-джзк-нп-тф-щ]{2})([б-джзк-нп-тф-щ])(ᴥ)([эуюяыое][б-джзк-нп-тф-щ])/gi,"$1ᴥ$2$4")
.replace(/ᴥᴥ/gi,"ᴥ")
.replace(/^([a-z0-9а-яё]{2})ᴥ(.+)$/gi,"$1$2")
.replace(/ᴥ/g,"\u00ad")+postfix;//\u00ad");
}).join(" ").replace(/\s—\s/g,"\u00a0– ");
};

Принтер завис и не печатает. Перезапуск диспетчера печати.bat

Многие пользователи страдают от того, что зависает принтер, а на самом деле – диспетчер печати windows.
Решение простое.
Пишем в блокноте 2 простых строки и сохраняем в файл “перезапуск диспетчера печати.bat”
@net stop spooler
@net start spooler

И ждём!

Пост для фотошоп-юзеров.

Отдельно здравствуйте те, кто так или иначе ежедневно использует небезызвестную программу от компании Adobe по названию Photoshop CS5 по прямому назначению.

Сегодня мой небольшой пост будет про то, как настроить Adobe Photoshop CS5 с целью масштабирования изображения мышью на вашем экране.
Читать далее

СберБанк-клиент

Цитата

Я в колхозе как-то ставил банк-клиент,
Знали б вы, как всё у них сурово…
На счету сегодня нету ни рубля,
А завтра уже, хоп – два миллиона!

Очередной переезд. 2011

Всем привет!

Вы на сайте Темникова Алексея. Кто-то знает меня как “ойти-специалиста”, а кто-то как хорошего человека ;)

В любом случае — рад вам сообщить, что я импортировал все записи со всех других моих блогов и сайтов сюда, теперь буду, как и прежде — писать о жизни и освещать интересные мне темы по адресу http://alexeytemnikov.ru/

Топ-5 тем для постов уже выбраны, и вот почему:
1. создание сайтов — потому что хобби и выгодно;
2. ремонт ноутбуков — доставляет удовольствие;
3. “public support” — в значении “Помощь людям — наше всё!”;
4. лечение вирусов — самый увлекательный квест;
5. обзоры новинок и имхо-аналитика узких сегментов рынка IT (о, как).

Подписывайтесь на РСС, пишите комментарии, задавайте вопросы.
Частично иногда ваш, Т.

Права на права.

Не пустили в клуб? В киномакс с едой не пускают?

Досмотр в кинотеатрах – незаконен!
Пришел ответ от "Управления Роспотребнадзора Чувашской республики" по поводу правомерности досмотров в наших кинотеатрах сотрудниками службы безопасности.

Сам вопрос:
Здравствуйте. В кинотеатре «Мир Луксор» (г.Чебоксары, пр. Ленина, 23) при входе на сеанс их служба безопасности требует показать содержимое сумок, мотивируя это тем, что вход в зал с фот-видео-техникой запрещен – чтобы не делали запись фильмов. Борьба с пиратством это, конечно, хорошо, но на сколько мне известно досмотр имеет право производить только сотрудники милиции с составлением протокола.
Имеют ли право на досмотр внутренние сотрудники безопасности кинотеатра?
И второй вопрос: если посетитель отказывается показать содержимое, то они отказываются пропускать на сеанс, отправляя в кассу – сдать билеты. При этом Ст. 426 гласит: «3. Отказ коммерческой организации от заключения публичного договора при наличии возможности предоставить потребителю соответствующие товары, услуги, выполнить для него соответствующие работы не допускается.». Правомерны ли действия работников кинотеатра? Они действительно имеют право издать свои внутренние правила (в данном случае они же противоречат законам РФ) и по этим правилам отказать в просмотре фильмов?

Сам ответ:
Досмотр не входит в компетенцию охранника, и производить обыск он не имеет права. Ссылки сотрудников служб безопасности на должностные инструкции неправомерны: в них не может быть прописано право на досмотр или обыск частных лиц. Согласно ст.27.7 Кодекса об административных правонарушениях (КоАП) РФ производить досмотр может только сотрудник милиции.
Если охранник досмотрел Ваши вещи, вы вправе обжаловать его незаконные действия. Необходимо обратиться в ОВД по месту нахождения магазина (кинотеатра) или по месту жительства с заявлением. Для успешного исхода желательно наличие свидетелей инцидента, но если их нет – жалоба все равно будет направлена в отдел лицензионно-разрешительной работы, где зарегистрировано охранное предприятие, на сотрудника которого вы жалуетесь.

Действия работников кинотеатра по навязыванию потребителям условия о том, что перед тем как пройти в зрительный зал они обязаны пройти досмотр является нарушением, предусмотренным ч.2 ст.14.8 КоАП РФ, выразившимся в несоблюдении положений п.1 ст.421 Гражданского Кодекса РФ, согласно которым граждане свободны в заключении договора. Работники кинотеатров вправе разрабатывать свои внутренние правила в части не противоречащей законодательству РФ.

Источник: http://z-alexey.livejournal.com/32235.html

Пост про такси в Ижевске.

По мотивам частых поездок по городу на такси за последние 2-3 месяца…
Не для рекламы ради, просто слова потратить. Привет, #izhtwitter !

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

Я выделяю следующие основные "группы" такси, которые отвечают конкурентному требованию: перезванивают если позвонить и сбросить с сотового телефона.
Это: ИЖАТП и 373.

1. ИЖАТП – в названии могу ошибаться — это службы 43-43-43, 46-46-46, 60-60-60 и тому подобные — может хозяева и разные, но приезжают хаотически перекрёстно то те, то другие, даже если звонить только в 43.

В чём разница:
43-43-43 — молодцы, минималка 50 рублей, можно выгодно ездить от ближайшего торгового центра до дома с габаритными покупками, по моим наблюдениям выгодны только если предполагаемая сумма всей поездки меньше 100 рублей.

46-46-46
— морально устаревшие авто, минималка 60 рублей, зато: фиксированная цена ровно 100 рублей из района в район, +20 рублей за остановку (подсадить кого-нибудь), по моим наблюдениям выгодны, например, если надо ехать из центра на конечную автобуса #40 (Автозавод) — по счетчику больше получается. Также выгодны если вы едете в тот интервал времени и по маршруту, на котором заведомо возможны пробки — цена не изменится. Акция "стань клиентом №46 — получи билет в кино" и что-то мне подсказывает что заказ номер 46 разыгрывается стабильно до 9 утра)))

60-60-60
— качество 50\50, минималка 60 рублей, пользуюсь редко.

2. Такси 373 телефоны 900-373 и 930-373 — стабильно работающая служба такси на которую я могу положиться.
За посадку берут 30 рублей, в эту сумму входит набор: современный автомобиль выше среднего класса с чистым салоном и "незадёрганным" водителем (мне везёт), бесплатный простой в пробках и проверенная экономия в среднем от 20 до 40 рублей если общая сумма поездки больше 100 рублей.
Кстати, диспетчеры каким-то невообразимым образом по умолчанию умеют передавать водителю координаты для ориентирования по GPS, очень актуально за городом.

Курьёзы.
Пару раз заказывали "иномарку" в 46, и оба раза приезжала Волга, из отечественных автомобилей, конечно, самая приемлемая, но сам факт доставляет)
Так же весело было искать "Синий рено" стоя на стоянке перед серым, пришлось напрямую спросить водителя.
Самое долгожданное такси было после того как в трубке автоинформатор сказал: "К вам подъезжает РОЗОВАЯ десятка". На деле машина оказалась белой, а жаль…

И, напоследок, личный совет логичный: всегда, когда есть запас времени, говорите диспетчеру, что хотите ИНОМАРКУ. Ведь цена одна, а вот уровень комфорта, безопасности, да и сама вероятность добраться до места назначения — гораздо выше.

Ваш таксичный К.О.Т.

Есть иной опыт? Посоветуйте такси мне, на котором выгодно ездить вам!

ДомРУ, фу!

Крик души: Как же вы задолбали, ЗАО "Компания ЭР-Телеком"!

По техническим причинам этим летом я был вынужден подключить интернет в Ижевске от ЗАО "Компания ЭР-Телеком". Подключили быстро, и, как мне казалось, на выгодных условиях.

Прошло полгода качественного скоростного интернета с адекватной круглосуточной техподдержкой, пришла унылая пора отказываться от услуг данной компании, как откуда ни возьмись менеджер по телефону сообщает мне, что, мол, мелкий текст-то в отксерокопированном(!!!) договоре ты опять, дружок, не прочитал!
По условиям этого контракта я оказался обязан пользоваться услугами ЗАО "Компания ЭР-Телеком" ровно год с момента подключения, иначе при досрочном расторжении я буду обязан уплатить полную стоимость подключения ~1100 рублей с копейками, что, естественно, в мои планы не входило и не войдёт.

Решение проблемы: 
вместо активации тарифного плана (самый дешевый 450 руб.) приходится платить 75 рублей ежемесячно за точку подключения.
Итого: 75 x 6 = 450 рублей.

Что задолбало:
менеджеры ЗАО "Компания ЭР-Телеком" ежемесячно звонят и задалбывают вопросом "у нас тут информация что вы не активировали тариф, почему?" Да потому что вы уже шестой(!) человек(?) который за 2 месяца звонит мне с этим вопросом и шестой же человек который не может написать там у себя, что я не буду больше активировать интернет, а спокойно до конца года буду платить 75 рублей в месяц.

Думаю, что столкнулся с местной интерпретацией http://ru.wikipedia.org/wiki/TQM
Качество есть, но где его повышение???

Вот так вот попал на осадочек, никому не пожелаю…