Поиск по этому блогу

понедельник, 16 января 2012 г.

Локальное радио по сети на раз-два

       И так недавно был найден очень простой способ поднять "сервер" с вещанием mp3. 
И так у меня узел на debian linux squeeze(на котором проходит испытание очередного бреда).
Во первых найдем путь /var/www/ создадим в нем html файл index.html
Далее скачиваем сам проигрыватель dewplayer тут
Далее после того как файл был скачан распакуем его и в сам файл index.html вставляем тэг проигрывателя на выбор.

Ицем именно тот тип плеера который вас наибольше завлекает к употреблению и копируете его код. Например мне понравился плеер под названием: Vol, я нахожу его в исходном коде файла index-xhtml.htm
   <object type="application/x-shockwave-flash" data="dewplayer-vol.swf?mp3=[АДРЕС ВАШЕГО ТРЕКА]" width="240" height="20" id="dewplayer-vol"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-vol.swf?mp3=[АДРЕС ВАШЕГО ТРЕКА]" /></object>
[АДРЕС ВАШЕГО ТРЕКА] — вставляете адрес (пример: http://padh.ru/music/black/tom0rrow.mp3), думаю это понятно.
Если вы хотите вставить несколько треков для проигрования, то вводите адреса через знак | :
swf?mp3=[АДРЕС ВАШЕГО ТРЕКА 1]|[АДРЕС ВАШЕГО ТРЕКА 2]|[АДРЕС ВАШЕГО ТРЕКА 3]
Как вы наверное заметили, в коде также находится адрес именно компонента (dewplayer-vol.swf) написанного на flash. если вы хотите вставить себе на сайт плеер, то dewplayer-vol.swf также должен присутствовать в корне сайта. Если же не в корне, а в любой другой папке, то адрес в коде придется поменять:
<object type="application/x-shockwave-flash" data="[ПАПКА]/dewplayer-vol.swf?mp3=[АДРЕС ВАШЕГО ТРЕКА]" width="240" height="20" id="dewplayer-vol">
Также обратите внимание на сам файл dewplayer-vol.swf, если меня интересует плеер под названием Vol, то в корень сайта бросаем dewplayer-vol.swf, если любой другой, к примеру Multi, то бросаем flash-файл dewplayer-multi.swf. Э думаю это все очень логично и понятно всем.



Давайте сразу рассмотрим те виды плееров которые имеют плейлисты. ЭтоVinyl+Playlist и просто Playlist. Так как они особо не отличаются в плане плайлиста, а только такими маленькими моментами как оформление и обложки к альбомам, то будем как пример рассматривать вариант плеераVinyl+Playlist.
Установка на сайт
Для того чтобы вставить плеер на сайт, нам нужно скопировать вот такой код, он является как бы представителем (обьектом) нашего flash приложения.
<object data="dewplayer-vinyl.swf" width="303" height="113" name="dewplayer" id="dewplayer" type="application/x-shockwave-flash">
<param name="movie" value="dewplayer-vinyl.swf" />
<param name="flashvars" value="xml=playlist.xml&javascript=off" />
<param name="wmode" value="transparent" />
</object>
Теперь более подробно:
В первых двух строках где указан dewplayer-vinyl.swf как значение и как адрес, мы должны поменять на свой (адрес). К примеру мой файл .swf (флеш-плеер) находится не в корне сайта, а в папке music/dewplayer-vinyl.swf, тогда и адреса в коде должны выглядеть так:
<object data="music/dewplayer-vinyl.swf" width="303" height="113" name="dewplayer" id="dewplayer" type="application/x-shockwave-flash">
<param name="movie" value="music/dewplayer-vinyl.swf" />
</object>
Думаю это понятно. Следующая строка указывает на плейлист (файл в формате .xml), в котором собственно и хранятся все данные.
Вот она:
<param name="flashvars" value="xml=playlist.xml&javascript=off" />
Здесь с адресом все тоже самое (music/playlist.xml).
Больше здесь рассказывать нечего переходим к плейлисту (открывем файл playlist.xml).
Настраиваем плейлист
Смотрите как он выглядит на самом деле, и как он должен выглядеть у вас (много лишнего по умолчанию).
До
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <title>Ounage Playlist</title>
    <creator>Dew</creator>
    <link>http://www.blup.fr/</link>
    <info>The Best Playlist</info>
    <image>covers/0.jpg</image>
    <trackList>
        <track>
          <location>mp3/test1.mp3</location>
          <creator>Bedrich Smetana</creator>
          <album>Má Vlast</album>
          <title>La Moldau (Vltava)</title>
          <annotation>I love this song</annotation>
          <duration>32000</duration>
          <image>covers/1.jpg</image>
          <info></info>
          <link>http://fr.wikipedia.org/wiki/M%C3%A1_Vlast_(Smetana)</link>
        </track>
        <track>
          <location>mp3/test2.mp3</location>
          <creator>Antonin Dvorak</creator>
          <album>La Symphonie du Nouveau Monde</album>
          <title>La Symphonie du Nouveau Monde</title>
          <annotation></annotation>
          <duration></duration>
          <image>covers/2.jpg</image>
          <info></info>
          <link>http://fr.wikipedia.org/wiki/Cesaria_Evora</link>
        </track>
        <track>
          <location>mp3/test3.mp3</location>
          <creator>Jean-Claude Petit</creator>
          <album>Le Hussard sur le Toit</album>
          <title>Le Hussard sur le Toit</title>
          <annotation></annotation>
          <duration></duration>
          <image>covers/3.jpg</image>
          <info></info>
          <link>http://fr.wikipedia.org/wiki/Le_Hussard_sur_le_toit_%28film%29</link>
        </track>
    </trackList>
</playlist>
После
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <title>Ounage Playlist</title>
    <info>The Best Playlist</info>
    <image>covers/0.jpg</image>
    <trackList>
        <track>
          <location>mp3/test1.mp3</location>
          <title>La Moldau (Vltava)</title>
          <image>covers/1.jpg</image>
        </track>
        <track>
          <location>mp3/test2.mp3</location>
          <title>La Symphonie du Nouveau Monde</title>
          <image>covers/2.jpg</image>
        </track>
        <track>
          <location>mp3/test3.mp3</location>
          <title>Le Hussard sur le Toit</title>
          <image>covers/3.jpg</image>
        </track>

    </trackList>
</playlist>
Первые три параметра в начале полностью соответствуют начальному виду плеера:
Установка flash(mp3)-плеера на сайт, часть 2 (плейлист)
    <title>Ounage Playlist</title>
    <info>The Best Playlist</info>
    <image>covers/0.jpg</image>
А вот остальные параметры:
 <track>
          <location>mp3/test3.mp3</location>
          <title>Le Hussard sur le Toit</title>
          <image>covers/3.jpg</image>
        </track>
location — адрес к аудиозаписи;
title —
имя;
image —
обложка;
Замечу, что в типе плеера Playlist — image (обложка) можно удалить, как первых строках, так и в описании каждого трека.
Все что от вас дальше требуется, так это ваша личная настройка плейлиста. Создадите на компьютере файл playlist.xml первоначально, потом заполните его и киньте в корень сайта (или отдельную папку выделенную под этот плеер).
Что-то уж очень на долго затянулась наша беседа, чувствую что будет еще третяя чаcть по настройке самого флеш скрипта (.swf);
Результат:
 Установка flash(mp3)-плеера на сайт, часть 2 (плейлист)

воскресенье, 15 января 2012 г.

Подсветка кода в блоге на Blogger.com (blogspot.com)

При публикации на страницах блога программного кода, возникает вопрос его красивого, и главное, доступного, оформления.

Существует множество скриптов и решений данного вопроса, но как организовать подсветку в блоге, размещенном на Blogger.com. Хочу поделиться парой доступных и простых решений, возможно кому то оно окажется полезным.


1. JQuery Sintax Highlight

Первое решение это плагин для яваскриптовой библиотеки JQuery - JQuery Sintax Highlight Plugin. Чтобы подключить данный плагин, для начала, нам понадобится подключить непосредственно саму JQuery библиотеку. Для этого заходим в админку блога, выбираем вкладку "Дизайн"  и "Изменить HTML". далее после тега <title><data:blog.pageTitle/></title> пишем следующее:

<script src='http://www.google.com/jsapi' type='text/javascript'/>
<script type='text/javascript'>
    google.load(&quot;jquery&quot;, &quot;1.5&quot;);
</script> 
Ниже добавляем код подключения плагина с сайта разработчиков:

<link href='http://webcodingstudio.com/modules/highlight/frontend/highlight.css?1282949674' media='all' rel='stylesheet' type='text/css'/>
<script src='http://webcodingstudio.com/modules/highlight/frontend/highlight.js?1268429770' type='text/javascript'/>
Теперь для подсветки синтаксиса можно использовать тег <pre class="code"></pre>. При чем для разных языков доступны свои варианты подсветки:

<pre class="code">default</pre>
<pre class="code" lang="js">js code</pre>
<pre class="code" lang="css">css code</pre>
<pre class="code" lang="html">html code</pre>
<pre class="code" lang="php">php code</pre>


2. SyntaxHighlighter

Другое решение не предполагает использование JQuery библиотеки, и на этом решении я остановил свой выбор.

SyntaxHighlighter представляет собой полностью функциональный, автономный код подсветки синтаксиса, разработан на JavaScript. Чтобы получить представление о том, на что способен SyntaxHighlighter, достаточно посетить демонстрационную страницу.

Теперь разберемся как это подключить.

Аналогично с первым вариантом заходим в админку блога, выбираем вкладку "Дизайн"  и "Изменить HTML". далее в окне редактора шаблона, после тега <title><data:blog.pageTitle/></title> пишем следующее:

<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<!-- add brushes here -->
<script type='text/javascript'>
  SyntaxHighlighter.config.bloggerMode = true;
  SyntaxHighlighter.all();
</script>
После комментария "add brushes here," добавляем скрипты для обработки тех языков, подсветку которых мы хотим использовать. В следующем примере будет использована подсветка для Javascript, SQL, XML/HTML, and PHP:

<!-- add brushes here -->
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
Осталось только сохранить изменения шаблона и приступать к использованию. Для того чтобы скрипт автоматически "раскрашивал" и размечал код, его необходимо разместить в теги <pre class="brush:[язык подсветки]">. Например, для подсветки блока с SQL-запросом:

<pre class="brush:sql">
SELECT *
FROM users
WHERE user_id = 1212;
</pre>

пятница, 13 января 2012 г.

Установка SmbNetFs (удобный доступ к smb)

        Поставил консоль с Linux squeeze  имеется рабочая группа под виндовозом.
Задача: Необходимо через консольный сервер зайти по локалке на узлы под виндой.
Решение:
Для автоматического и удобного монтирования виндовых шар в негномовских дистрибутивах приходится попотеть, т.к. ни в XFCE ни в LXDE сейчас нет таких возможностей для для лёгкого монтирования самбы.
Однако это можно решить с помощью пакета SmbNetFs.
Ставим пакет:
#sudo apt-get install smbnetfs
Далее настройка.
#mkdir ~/.smb
#sudo ln -s /etc/samba/smb.conf ~/.smb/smb.conf
#sudo cp /etc/smbnetfs.conf ~/.smb
#touch ~/.smb/smbnetfs.auth
#touch ~/.smb/smbnetfs.host
#sudo chmod 600 ~/.smb/smbnetfs.*

в ~/.smb/smbnetfs.auth вписываем логин и пароль для подключения к шаре. По умолчанию это guest и пустой пароль:
auth "guest" ""
создаем каталог, куда будет монтироваться вся рабочая группа и даем права на запись:
#sudo mkdir /media/network
#sudo chmod a+w /media/network

Далее просто монтируем:
#smbnetfs /media/network
Теперь перейдя в папку /media/network можно наблюдать всё сетевое окружение.
Однако тут есть тонкость! По умолчанию smbnetfs проводить пересканирование сети каждые 5 минут - поэтому только что расшаренная папка не станет видна сразуже. Для решения этой проблемы при монтировании нужно указать следующий параментр монтирования: -o smb_tree_scan_period=30.
smbnetfs -o smb_tree_scan_period=30 /media/network

Далее это необходимо прописать в автозагрузку. Для дистрибутива Lubuntu c LXDE, в качестве DE, необходимо отредактировать следующий файл:
#nano ~/.config/lxsession/Lubuntu/autostart
smbnetfs -o smb_tree_scan_period=30 /media/network
Теперь для удобства можно создать закладку в вашем файловом менеджере, ссылающимся на эту папку.

Original Article

Ошибка E: Sub-process /usr/bin/dpkg returned an error code (1)

Недавно столкнулся с такой проблемой:
E: Sub-process /usr/bin/dpkg returned an error code (1)
 В данном случае ни один пакет установить не удается все время идет спотыкание и ругань, что к сожалению не удалось установить пакет проверьте (--configure) и т.д. Почитав форумы и спросив у гугла нашел два решения первое заходим в директорию
#cd /var/lib/dpkg/info
где в свою очередь множество файлов, но мне не удалось найти тот файл из-за которого начался весь сыр бор, поэтому грохнул все папку info и проблема устранилась.
И теперь не забудьте создать удаленную папку
#mkdir /var/lib/dpkg/info


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



E: Sub-process /usr/bin/dpkg returned an error code (2)
dpkg: при работе функции buffer_read(fd) произошла ошибка: копирование файла информации /var/lib/dpkg/available: Input/output error


Дааааа... Как всегда косяки, ну ничего, где-то мы такое видали. Минутный поиск по форуму сообщества и на глаза вылазит лекарство:
#dpkg --configure -a
либо
#apt-get install -f && sudo dpkg --configure -a
К сожалению никаких результатов в моэм случае это не дало.
Ищем дальше. Гугл толком ничего не даёт, найдены пару вариантов с англоязычного форума линукс. К сожалению не помогает. Ну ладно зна будем думать головой...
Идём по адресу /var/lib/dpkg/ находим файл available, пытаемся открыть - фуфел. Осматриваемся в папке,и видим интересный файл под названием available_old.
Значит, при обновлении пакетов была сделана резервеая копия этого файла со старым содержимым. Открываем, копируем содержимое , удаляем available и создаём на его месте новый файл с тем же названием. Вставляем содержимое из available_old. 
Проверяем обновления
#apt-get update
есть. Запускаем
#apt-get upgrade
Должно работать. Теперь можно и продолжать настройку системы. 
Также возможен другой вариант лечения dpkg.
#dpkg --clear-avail /удалить информацию о доступных пакетах.
далее
#apt-get update /обновление информации о пакетах.
но это при условии, что ваш файл не окажется битым, как в моём случае.
Да, чуть не забыл при внесении данного сообщения начал меня раздражать SCIM Method? он так и норовил подсунуть мне какой-нибудь арабско-еврейско-хрензнает какой шрифт. Пришлось избавится
#apt-get remove scim
Original article