You are viewing [info]bonstorm's journal

Bonstorm
"Купи Bonstorm, или иди к черту"
Recent Entries 
24th-Dec-2011 02:55 am - Sopcast на Debian GNU/Linux Sid

По просьбе друзей пишу мальнькое how to по установке плеера sopcast в debian sid, предназначенного для просмотра интернет-трансляций

У нас есть два пути:
1. Подключить убунтовский репозитарий и установить sopcast-player
2. Cкачать клиент, дописать скрипты запуска и воспроизводить поток через mplayer или smplayer

Первый способ проще, однако он создает проблемы при установке программ, использующих библиотеку ia32-libs, например skype. Если не предполагается использовать библиотеку ia32-libs, используйте первый способ, в другом же случае, придется использовать второй способ.

Подробнее... )

Прежде, чем читать эту часть, настоятельно рекомендую прочитать первую часть статьи.

Рассмотрим практическую реализацию, описанных в первой части, теоретических размышлений. Как было рассмотрено ранее, для этого нужно выполнить следующие пункты:

  1. Разработать алгоритм слияния трех массивов: массива данных сессии в начале работы скрипта, массива данных сессии считанным из БД перед сохранением текущей сессии и массива данных сессии, который скрипт готов записать в сессию.
  2. Создать таблицу в базе данных, в которой будут храниться данные сессии.
  3. Создать набор функций взамен стандартных для работы с сессиями.

Читать далее... )

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

Читать теоретические выкладки )

Понадобилось мне на днях разрезать небольшой железный прут. Побежал в хозяйственный за полотном к ножовке по металлу. Выбор к сожалению не велик: полотно за 150р и полотно за 9р. Оба непонятного качеcтва, неизвестного производителя. Российского товара нет (как показывает практика, он обычно высокого качества). Ок, беру за 9р.

Как показали дальнейшие испытания, это полотно не стоит и рубля, даже 30 копеек за него жалко отдать. Оно не соответствует вообще никаким критериям качества. Качество стали отвратное, она не закалена вообще. Им разрезать практически ничего невозможно. Путь для него один - помойка. Думаю подобный инструмент надо запретить к реализации, а импортеров расстреливать без суда и следствия.

Результаты работы на фото:

Смотреть фото... )
25th-Feb-2011 11:33 am - Debian Squeeze vs framebuffer

Установил я давеча себе на виртуальную машину Debian GNU/Linux Squeeze из минимального установочного cd. Как истинный true-линуксоид установил все в минимальной комплектации, без X сервера, на базе soft RAID1. Все бы хорошо, да работать с разрешением 640x480 очень неудобно. Решил установить в консоли разрешение 1280x1024 через framebuffer. Настроить оказалось не так просто. Вся проблема в том, что в дистрибутиве используется загрузчик операционной системы Grub2. И настраивается он по-другому, чем grub.

На данный момент появляются различные обзорные статьи, некоторые из них очень даже ничего. Также много обсуждения в форумах с рекомендацией править файлов /etc/grub.d/00_header и /etc/default/grub и заданием параметра GRUB_GFXPAYLOAD_LINUX. Так вот, - это все херня, потому что не работает.

Решение все таки нашлось:

1. Раскомментируем в файле /etc/default/grub GRUB_GFXMODE и зададим нужное разрешение для загрузчика. Это разрешение экрана при выборе ОС для загрузки.

# nano -w /etc/default/grub

GRUB_GFXMODE=1280x1024

2. Введем дополнительный пункт меню в grub2. Назовем его Debian GNU/Linux 2.6.32-5-amd64 1280x1024 mode, подправив файл /etc/grub.d/40_custom

# nano -w /etc/grub.d/40_custom

menuentry 'Debian GNU/Linux 2.6.32-5-amd64 1280x1024 mode' --class debian --class gnu-linux --class os {
    set root='(md/0)'
    search --no-floppy --fs-uuid --set cb85b252-21c0-423b-b5d3-b6aa322493ea
    linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/md1 vesafb vga=0x31B ro quiet
    initrd /boot/initrd.img-2.6-32-5-amd64
}

Следует отметить, что /boot находится на /dev/md0, а корневая ФС на /dev/md1

3. Не забываем сделать:

# update-grub2

Все, теперь должно работать.

Источник: http://forums.debian.net/viewtopic.php?f=5&t=41881



Приходит момент, когда вы решаете сделать красивый дизайн для своего сайта с применением CSS. Сделали. Все хорошо и красиво. Но вот вы даете ссылку своему другу, чтоб заценил новую работу, а вместо восхищения, получаете поток критики: слишком мелко написано, текст уехал, много пустого места и полей по бокам и т.д. и т.п.

В чем же дело, ведь у вас нет всего того, о чем он пишет? Проблема в том, что у него другое разрешение монитора и ваш красивый дизайн уже выглядит по-другому. Как же победить эту проблему? Все очень просто, пишем несколько файлов css с оптимизированными значениями для конкретного разрешения.

Таким образом, пусть у нас есть несколько файлов: 1024х768.css, 1152x864.css, 1280x1024.css, 1600x1200.css.

Для начала в теге head нашего html документа пропишем css файл по умолачнию на случай, если вдруг у пользователя не включен JavaScript

<link rel=stylesheet type="text/css" href="/1024x768.css" id="css" media='screen' />

А теперь добавим немного JavaScript:


<script type="text/javascript">
   var width = screen.width;
   if (width >= 1600)
      document.getElementById('css').href="/1600x1200.css";
   else if ((width < 1600) && (width >= 1280))
      document.getElementById('css').href="/1280x1024.css";
   else if ((width < 1280) && (width >= 1152))
      document.getElementById('css').href="/1152x864.css";
   else
      document.getElementById('css').href="/1024x768.css";
</script>

Иногда требуется быстро кинуть что-то в куки и также быстро их прочитать. Где-то в сети я нашел очень удачную (на мой взгляд) реализацию функций по работае с cookies. Нам нужно всего три фукции: getCookie (name), setCookie (name, value, [expires], [path], [domain], [secure]) и deleteCookie (name).

Посмотреть исходный код... )

Все началось с того, что всем известный проблемный Seagate Barracuda 7200.11, работая в soft RAID1 на Linux посыпал бэд блоками. Хотя спецификация SATA II официально не поддерживает горячую замену дисков, в различных форумах встречается много сообщений, что это возможно. Я решил это проверить.

Имеется soft RAID1, организованный с помощью dmraid на ОС Gentoo Linux, железяка fake raid контроллер:

# lspci | grep raid
01:02.0 RAID bus controller: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)

Сначала с помощью mdadm выводим диск из массива (см. man dmraid):

# mdadm --manage /dev/md0 --fail /dev/sda1
# mdadm --manage /dev/md0 --remove /dev/sda1

Далее, поскольку неизвстна поддержка этим контроллером hotplug, согласно совету товарища Viglim c форума linux.org.net командуем:

# echo 1 >/sys/block/sda/device/delete

После этого отключаем питание и data-кабель.

Подключаем хороший жесткий диск: сначала data-кабель, затем питание и командуем:

# for a in /sys/class/scsi_host/host*/scan; do echo '- - -' > $a; done

Теперь подключенный диск размечаем на разделы под тип FD с помощью fdisk или cfdisk. Чтоб система увидела наши разделы sda1, sda2 и т.д., нам нужен пакет sys-block/parted. Командуем:

# partprobe /dev/sda

Подключаем диск к райд массиву:

# mdadm --manage /dev/md0 --add /dev/sda1

Чтоб в реальном времени наблюдать за синхронизацией дисков, командуем:

$ watch -n 1 cat /proc/mdstat

Вот и все, диск был заменен без единой перезагрузки.

13th-Nov-2010 04:21 pm - Bug Track

1).   При загрузке страницы в консоли ошибок firefox выводится ошибка:

Syntax error
http://domain/foto/JsHttpRequest.js   Строка: 1
<!DOCTYPE html>


Данная ошибка может возникнуть в случае использованя якорей и подгрузки страниц с помощью AJAX.
То есть из двух равнозначных адресов в адресной строке, второй выдаст ошибку:
http://domain/#/foto
http://domain/foto/#/foto

Ошибка скрывается в путях в html коде:
<script type="text/javascript" src="JsHttpRequest.js"></script>

Правильно нужно писать:
<script type="text/javascript" src="/JsHttpRequest.js"></script>

И ошибка исчезнет.

2).   Redirect в Opera.

Появилась необходимость выполнять некоторые действия в php-скрипте после чего, редиректить браузер на html-страницу:
<?php
    Do something.....
    header("Location:/index.php",true,302);
?>

Я уже давно фиксировал проблемы редиректа Opera в таких ситуациях на разных версиях. То есть скрипт отрабатывает, но редирект не происходит, либо происходит через раз.

Проблема решилась неожиданно, нужно сделать небольшую паузу:
<?php
    Do something.....
    if(stristr($_SERVER['HTTP_USER_AGENT'],"opera"))
           sleep(1);
    header("Location:/index.php",true,302);

?>

Проблема самоликвидировалась. О причинах остается только догадываться.
 

Статья переработанная и дополненная. 

          Все началось с того, что у меня сломался резистор-переключатель выдержки и диафрагмы (колесико) на уже стареньком Pentax ist* DS. По моим оценкам, такой резистор стоит максимум 50р, но в продаже его не найти, ну работа 500-800р, ну плюс фирме 500. Потому решил отремонтироваться в Дикси Сервис (Dixi-сервис).
          Следует предупредить читателя, что при сдаче в ремонт не гарантийной техники, они берут 500 рублей за диагностику, которые потом ни при каких обстоятельствах не вернут, даже если вообще ничего делать не будут.
 
         Так вот, отнес я им свой фотоаппарат и стал ждать.   
         Отмечу, что при сдаче, я сделал пометку, что если ремонт будет стоить больше 3000р, то делать его не надо. Приемщик меня уверил, что мне позвонят и согласуют стоимость ремонта, взяв мой номер телефона.  
         Через несколько дней на их сайте по номеру заказа я обнаружил, что фотоаппарат отремонтирован, конечно же, мне ни одна (очень хочется обозвать нехорошим словом) не позвонила. Итоговый счет 4400 рублей 00 копеек. Ладно, ......(дальше идет мат из 10 слов).  
         Сразу же дома при проверке обнаружил, что они сломали соседнюю кнопку, она вообще перестала работать, хотя до этого прекрасно все работало. На самом деле причина не в том, что сломали, а просто страшно неаккуратная сборка. Также остался неисправленным старый дефект с колесиком.
         Отнес я этим ........ свой фотоаппарат второй раз. Через несколько дней его снова сделали. И что бы вы думали, мой резистор также не работает, как и раньше. То есть скорее всего ремонт вообще не производился, либо поставлена бракованная или б.у. деталь, которая на второй день дала дуба.  Но сломанную кнопку починили.
         Я не пал духом и в третий раз отнес я этим пи..рам свой фотоаппарат. Теперь они изменили тактику. То есть аппарат пролежал в ремонте полтора месяца, тишина... Позвонил им с вопросом, что собственно, происходит? Ответ: мы заказали детали, ждите. Сроки неизвестны, даже приблизительно. В соответствии законом РФ я требую возврата без ремонта с возвратом денег за ремонт.
        Цирк продолжился, когда я пришел забирать фотоаппарат в пункт приема. Фотоаппарат мне выдали, а вот деньги в упор возвращать отказались. Мотивировав это тем, что фотоаппарат вообще исправен, что они провели профилактику и все. За это и деньги взяли. Меня этот ответ не удовлетворил и начал жадждить Вселенской Справедливости, плоть до жалоб в Роспотребнадзор, проведения незвасимой экспертизы и суда. Там же по телефону у управляющего потребовал заключения по проведенным работам, причине обращения и результатам. 
        Пришлось придти еще раз, когда уже был управляющий, чтоб забрать заключение. Писать заключения, чтоб отмазаться, они не умеют. Кстати, на правах рекламы, предлагаю платное написание таких технических заключений :)
        На удивление, при живом общении, управляющий оказался очень вменяемым и адекватным человеком. После того, как я рассказал свою проблему с ними, он снова забрал фотоаппарат, извинившись, и через неделю обещал решить проблему, либо отремонтировав, либо вернув деньги. 
        И вот через неделю я получил свой рабочий девайс. Прошло ровно два месяца.
        Если вам хватило терпения дочитать, думаю вы сами решите, стоит ли овчинка выделки.
  
       P.S.  В то же время, перед тем, как ругаться с ними, наблюдал еще одну картину. Мужик ругался с ними тоже. Он отдавал им в ремонт объектив со сломанной системой зума и подклинивающей диафрагмой. Ремонтировать он хотел только диафрагму. Они же отремонтировали ему систему зума, а диафрагму не только не отремонтировали, но сдвинули ее с f/2,0 на f/4, выставив за ремонт кругленькую сумму. 
This page was loaded May 27th 2012, 6:01 am GMT.