января 21, 2008

Копирование в буфер обмена из командной строки Windows в два клика

Командная строка, копирование, перетаскивание, буфер обмена

Иногда приходится перенести какую-либо информацию из командной строки в текстовый редактор (опубликовать на сайте или форуме). Действие не частое, поэтому не всегда всё делается так просто как возможно. На самом деле всё можно закончить за два клика мышкой (точнее за три - нужно же еще и вставить скопированное в нужное место). Для этого необходимо произвести лишь небольшую подстройку свойств командной строки.

Comand-prompt-copy-clipboard

После запуска командной строки (Пуск->Программы->Стандартные) нажимаем правой кнопкой на заголовке окна. Выбираем пункт меню "Свойства". И на вкладке "Общие" ставим галочку "Выделение мышью". Жмем "ОК".

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

Взято с How-To Geek.

января 15, 2008

Использование камкордера в качестве вебкамеры

Camcoder, webcamera, video chat, вебкамера JVC, Skype, Firewire IEEE 1394

Подключение обычной любительской камеры JVC GR-D340E к компьютеру состоялось без проблем с использованием DV кабеля и платы IEEE 1394. Но реализовать описанную в инструкции возможность использования в качестве вебкамеры оказалось сложнее. Никаких дополнительных и подробных сведений там не значилось. Поэтому пришлось раскапывать информацию самостоятельно. Итак, по порядку.

JVC_GR-D340E

ICQ6 и Skype напрочь отказались обнаруживать вебкамеру в системе. Причем, последний ещё ругался по поводу того, что устройство используется другой программой. Это уводило в сторону от нахождения правильного решения. Поиск в Интернете дал лишь один результат: включить функцию вебкамеры возможно только при использовании USB подключения. Задача трудноразрешимая, учитывая отсутствие на камере USB выхода. Продавцы магазинов бытовой техники напрочь отрицали существование кабеля DV/USB. Когда же таковой был найден, его стоимость заставила искать другие решения.

После внимательного изучения специализированных форумов, обнаружилась интересная программа - SplitCam. Она позволяет использовать один источник захвата изображения в нескольких клиентских приложениях. Все бы хорошо, но при попытке указать источник (камкордер) выскакивало сообщение об ошибке. Параллельно обнаружилось, что Windows Movie Maker также перестал работать с камерой - выдавалась ошибка "класс не зарегистрирован". Снова тупик, но слоган "Яндекс - найдётся всё" безупречно работает только на Гугле. Как оказалось, ошибка, возможно, возникает после установки пакета Nero. А точнее Nero Vision - приложения для авторинга ДВД. Все устранилось регистрацией кодеков в следующей последовательности (вручную, через меню "выполнить"):

regsvr32 msscds32.ax
regsvr32 l3codecx.ax
regsvr32 mpg2splt.ax
regsvr32 mpeg2data.ax
regsvr32 sbe.dll
regsvr32 qedit.dll
regsvr32 wmmfilt.dll
regsvr32 vbisurf.ax
regsvr32 wiasf.ax
regsvr32 msadds.ax
regsvr32 wmv8ds32.ax
regsvr32 wmvds32.ax
regsvr32 qasf.dll
regsvr32 wstdecod.dll.

И, наконец, SplitCam обнаружил камеру и показал маленькое изображение. Запущенный Skype увидел "новую" вебкамеру (!), но... компьютер стал усиленно тормозить. Загрузка процессора вылезла на тектоническое плато - 100%. Первым сдался Скайп, затем СплитКам, под шумок слетели Файрфокс и Проводник Виндовс. Снова на старте, разультат равен нулю.

Назревает вопрос: "А что же делать?". А ответ прост - устанавливаем надоедливый и потому удаленный Windows Messenger. Да-да. Именно он, один-единственный воспринимает камкордер, подключенный через интерфейс IEEE 1394, как вебкамеру (при заявленной в инструкции к камере возможности). Все остальные программы требуют подключение вебкамеры через USB. Причем этот самый мессенджер открывает довольно интересные и неизведанные WEB 2.0 бесплатности от Майкрософт. Но это уже тема для отдельной статьи.

января 11, 2008

Импорт статей из Wordpress в Blogspot

Импорт/экспорт публикаций, синхронизация блогов, blogger import, blogsync

Ни для кого не секрет, что в Вордпрессе реализована функция импорта статей из блогов различных платформ, включая blogger (blogspot). Но сам Блогспот в этом плане сильно ограничен. Я бы сказал, что автоматически переместить статьи в него из других блогов невозможно, если бы не Водрпресс и еще одна интересная утилита - Blogsync.

Blogsync - простой инструмент для импорта публикаций из Вордпресса в Блогспот. Подробнее о его использовании:

  1. У вас должна быть установлена Java. После распаковки архива для запуска из-под Виндовс используйте run.bat, в Unix/Mac - run.sh.
  2. Укажите ваши регистрационные данные для Водрпресса и Блогспота (адреса, логины/пароли, blogid).
  3. Выберите тип импорта (последние сообщения, диапазон ID публикаций либо конкретные ID).
  4. Загрузите сообщения из блога на Вордпрессе.
  5. Просмотрите загруженные статьи и удалите ненужные (правой кнопкой мыши).
  6. Теперь нажимайте кнопку "import" для публикации на Блогспоте.

Что такое blogid и как его узнать? Это последняя (цифровая) часть адреса страницы настроек вашего блога на блогспоте (Dashboard). Если это, к примеру, http://www.blogger.com/blog-options-basic.g?blogID=5326536439584457157, то blogid = 5326536439584457157.

В работе программы возможно появление сообщения об ошибке - это вызвано неверным кодом xml в каком-то из ваших сообщений (скорее всего имеющего различные нестандартные внедренные объекты).

Еще раз ссылка для скачивания: Blogsync with GUI. Оригинал сообщения (англ.): Blogsync with gui coming, import your wordpress to blogger.

января 05, 2008

Краткий справочник по Wordpress

Wordpress help sheet, snippets, теги вордпресс

Получивший большую популярность движок для блогов Wordpress выгодно отличается от своих собратьев большим количеством документации. Многие блоггеры оптимизируют официальные файлы помощи под свои нужды. Так поступил и Michael Castilla. Он собрал воедино основные теги Вордпресса и опубликовал в виде The WordPress Help Sheet.pdf. На одной странице формата А4 уместились ключевые теги, используемые при создании дизайнерских шаблонов для Вордпресса.

Перевод данного документа на русский язык включает в себя:

  • Список основных файлов шаблона
  • PHP теги шапки шаблона (header)
  • PHP теги, используемые в шаблоне для формирования блога
  • Дополнительную интересную информацию.

Ссылка для скачивания: Краткий справочник по Wordpress.

Technorati Теги: ,,

января 02, 2008

Бесплатный онлайн диск на 30 Гб

Сетевое устройство, резервирование файлов, файловый хостинг, online storage, hdd online

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

Что же предлагает нам сервис для хранения файлов со странным названием humyo.com?

  • 25 Гб для медиафайлов (музыка, фото, видео) и 5 Гб для файлов других типов бесплатно.
  • Отсутствие ограничений на срок хранения файлов и трафик.
  • Автоматическую сортировку выгруженных файлов по типу.
  • Упорядочивание музыкальных композиций по различным критериям.
  • Доступ с мобильного телефона.
  • Прослушивание выгруженной музыки в онлайне и просмотр фотографий на установленных веб-программах.
  • Контроль доступа, предоставляемого к файлам.
  • Поиск по размещенным на сервисе вашим файлам, а также файлам других пользователей.
  • Высокоскоростную загрузку файлов с других сайтов (напрямую, минуя локальное скачивание).
  • 256-битовое кодирование информации, контроль доступа пользователей к почтовым вложениям.
  • Синхронизация локальных и выгруженных файлов.
  • Интеграция с Проводником Windows - подключение к сервису в виде сетевого диска.

Но словами не опишешь то, что нужно смотреть и пробовать на ощупь. Вот, к примеру, ссылка на универсальный конвертер видеофайлов SUPER, выгруженный на humyo.com - http://www.humyo.com/F/62550297/EMBED. На сервисе много выгруженной музыки, которую несложно найти. Я уже копирую туда свой музыкальный архив - освобождаю винт как минимум на 10 Гб. А при скорости подключения более 128 Кб/сек слушать музыку можно просто добавляя ее в Winamp из сетевого диска humyo.com. 


Get your free humyo.com online file storage

декабря 21, 2007

Связанные публикации на Blogspot

Related posts, blogger hack, связанные ссылки, похожие сообщения, blogger widget

Related posts - довольно удобный плагин для Wordpress, который позволяет задержать читателя на блоге, предоставляя ссылки на другие похожие публикации. Подбор аналогичных публикаций осуществляется по разным критериям и далеко не всегда верный. Как известно, установка дополнительных модулей не предусмотрена на Blogspot.com. Поэтому предлагаемое решение использует другой принцип. В его основе заложена выборка по рубрикам или категориям (labels). Данный хак, реализованный в виде виджета на java script, добавляет в конец публикации ссылки на другие посты из тех же рубрик. Вы можете видеть как это работает на примере этого блога. Ссылки показываются только на странице публикации, вместе с комментариями и другой информацией, имеющей отношение непосредственно к определенной статье.

Установка

Зайдите в меню редактирования шаблона, в раздел "изменить HTML". Включите пункт "Расширить шаблоны виджета" и обязательно сохраните копию шаблона, прежде чем вносить в него изменения. Найдите в коде тег <data:post.body/>. Сразу за этим тегом вставьте следущий код:

<!-- Связанные статьи из этой категории. Виджет. Начало -->

        <b:if cond='data:blog.pageType == &quot;item&quot;'>
            <div class='similiar'>
                
                <div class='widget-content'>
                <h4>Предлагаю ознакомиться с аналогичными статьями:</h4>
                <div id='data2007'/><br/><br/>
                    
                    <script type='text/javascript'>

                    var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;
                    var maxNumberOfPostsPerLabel = 5;
                    var maxNumberOfLabels = 3;

                    maxNumberOfPostsPerLabel = 6;
                    maxNumberOfLabels = 3;


                    function listEntries10(json) {
                      var ul = document.createElement(&#39;ul&#39;);
                      var maxPosts = (json.feed.entry.length &lt;= maxNumberOfPostsPerLabel) ? 
                                     json.feed.entry.length : maxNumberOfPostsPerLabel;
                      for (var i = 0; i &lt; maxPosts; i++) {
                        var entry = json.feed.entry[i];
                        var alturl;

                        for (var k = 0; k &lt; entry.link.length; k++) {
                          if (entry.link[k].rel == &#39;alternate&#39;) {
                            alturl = entry.link[k].href;
                            break;
                          }
                        }
                        var li = document.createElement(&#39;li&#39;);
                        var a = document.createElement(&#39;a&#39;);
                        a.href = alturl;

                        if(a.href!=location.href) {
                            var txt = document.createTextNode(entry.title.$t);    
                            a.appendChild(txt);
                            li.appendChild(a);
                            ul.appendChild(li);    
                        }
                      }
                      for (var l = 0; l &lt; json.feed.link.length; l++) {
                        if (json.feed.link[l].rel == &#39;alternate&#39;) {
                          var raw = json.feed.link[l].href;
                          var label = raw.substr(homeUrl3.length+13);
                          var k;
                          for (k=0; k&lt;20; k++) label = label.replace(&quot;%20&quot;, &quot; &quot;);
                          var txt = document.createTextNode(decodeURI(label));
                          var h = document.createElement(&#39;b&#39;);
                          h.appendChild(txt);
                          var div1 = document.createElement(&#39;div&#39;);
                           div1.appendChild(h);
                          div1.appendChild(ul);
                          document.getElementById(&#39;data2007&#39;).appendChild(div1);
                        }
                      }
                    }
                    function search10(query, label) {

                    var script = document.createElement(&#39;script&#39;);
                    script.setAttribute(&#39;src&#39;, query + &#39;feeds/posts/default/-/&#39;
                     + label +
                    &#39;?alt=json-in-script&amp;callback=listEntries10&#39;);
                    script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);
                    document.documentElement.firstChild.appendChild(script);
                    }

                    var labelArray = new Array();
                    var numLabel = 0;

                    <b:loop values='data:posts' var='post'>
                      <b:loop values='data:post.labels' var='label'>
                        textLabel = &quot;<data:label.name/>&quot;;
                        
                        var test = 0;
                        for (var i = 0; i &lt; labelArray.length; i++)
                        if (labelArray[i] == textLabel) test = 1;
                        if (test == 0) { 
                           labelArray.push(textLabel);
                           var maxLabels = (labelArray.length &lt;= maxNumberOfLabels) ? 
                                  labelArray.length : maxNumberOfLabels;
                           if (numLabel &lt; maxLabels) {
                              search10(homeUrl3, textLabel);
                              numLabel++;
                           }
                        }
                      </b:loop>
                    </b:loop>
                    </script>

                </div>

            </div>
        </b:if>                

<!-- Конец кода: Связанные статьи из этой категории. Виджет. -->

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

Примечание

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

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

Technorati теги: ,,

декабря 20, 2007

WinDV - простой захват видео

DV, FireWire digital video, видеозахват, capture

Хочу рассказать об одной простой программе видеозахвата для Windows. Это WinDV. Программа не новая, но малоизвестная. Предназначена для захвата с видеокамер и обратной записи AVI файлов посредством интерфейса FireWire (IEEE 1394). Временные отметки на видеозаписи используются для автоматического разделения различных отрывков видео.

Основные характеристики:

  • Миниатюрный размер (98 Кб)
  • Двусторонний обмен (захват видео и запись на камеру)
  • Отсутствие пропущенных кадров (буферизация в памяти)
  • Автоматическое разделение видеоряда на файлы (каждый сюжет записывается в отдельный файл)
  • Простое соединение AVI файлов (при записи на камеру сюжеты соединяются автоматически)
  • Предпросмотр передаваемого видео

Системные требования:

  • Windows 98SE/ME/2000/XP
  • DirectX 8.1+
  • FireWire (IEEE 1394) контроллер (OHCI)
  • DV camcorder (с DV-входом для записи)
    или DV-videorecorder

Скачать программу можно с сайта разработчика: WinDV-1.2.3.zip

декабря 18, 2007

Подарочный сертификат на 750 Гигабайт хостинга

Имеется в наличии несколько подарочных (точнее скидочных) сертификатов на хостинг. Необходимо использовать до 24 декабря 2007 года. Сертификат дает скидку 20 долларов - хостинг получается по 63 доллара 40 центов в год + домен в подарок. Кроме 750 Гб дается 7,5 Терабайт трафика в месяц и все остальное без ограничений (почта, базы данных, субдомены...).

Я думаю никому не надо, но на всякий случай: sclif@narod.ru.

декабря 12, 2007

Stream attributes could not be determined: Sony Vegas или Звук без видео на таймлайне

Sony Vegas, видеомонтаж, codec, ffdshow, нет видео

"Stream attributes could not be determined" - это служебное сообщение, которое можно увидеть при импорте видеофайлов в Sony Vegas. Оно отображается как правило вместо данных о видеопотоке. В самом типичном случае импортированное видео не отображается при предварительном просмотре и не добавляется на таймлайн. Помещается только звук. При этом сам видеофайл отлично просматривается при помощи установленных в системе плейеров.

Все дело в кодеках. Точнее в не установленных или неверно настроенных кодеках. Решение при использовании ffdshow очень простое:

В настройках ffdshow "VFW Configuration" необходимо включить все DivX, XviD и MPEG-4 декодеры: меню Программы -> ffdshow -> VFW Configuration -> Вкладка Decoder -> Кодеки -> включить XviD/DivX/MPEG-4 декодеры выбрав вместо пункта "запрещён" пункт "libavcodec".

Скачать последнюю версию ffdshow можно по ссылке: www.afterdawn.com.

На всякий случай даю ссылку на звуковой кодек AC-3 ACM Decompressor by fccHandler.

Узнать о том какие кодеки используются в видеофайле можно при помощи программ: Gspot, VideoInspector (VideoToolBox) или AVICodec.

И вообще все кодеки находятся на www.free-codecs.com.

декабря 04, 2007

Решение проблемы wp_list_pages в Wordpress

Подсветка меню, page_item, current_page_item, классы CSS

Замечательный движок для блогов Wordpress, кроме всевозможных достоинств, как и любой другой программный продукт не лишен багов. Но сила программ с открытым кодом состоит в том, что пользователи сами могут вносить усовершенствования и исправления. Об устранении глюка с выводом меню сайта при помощи функции wp_list_pages () и пойдет речь.

Проблема

При выводе списка страниц функция wp_list_pages добавляет класс page_item. Для текущей выбранной страницы также дописывается класс current_page_item. Это позволяет создавать красивые эффекты подсвечивания текущей страницы в меню. Все это отлично работает до тех пор, пока вы не захотите заменить блог на главной странице на статическую страницу (меню Настройки -> Чтение). В этом случае блог будет отображаться на выбранной вами странице и функция wp_list_pages ...прекращает выдавать класс current_page_item для пункта меню "блог". При этом вся ваша красивая система подсветки рушится.

Меню можно сделать и вручную. Но зачем же тогда стандартная функция, которая выполняет все нужные действия автоматически? Этот баг описан на страницах техподдержки вордпресса и был исправлен в версии 2.1. Но снова появился в версии 2.1.1 и до сих пор вопрос остается открытым.

Решение

В ворпрессовской директории wp-includes подправим файл classes.php. В районе 512-й строки (у меня это 516-я строка - версия 2.3.1) находим if ( $page->ID == $current_page ) и заменяем всю строку на if ($page->ID == $current_page || ($current_page == 0 && $page->ID == get_settings('page_for_posts')))

Вот и все.

Technorati Теги: ,,