Как стать автором
Поиск
Написать публикацию
Обновить

Ломаем капчу

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

Ставлю себе задачу: Написать скрипт, который будет расшифровывать показанную капчу и выплевывать драгоценные циферки.

Название сайта специально не привожу — сами догадаетесь :)

Итак, поехали!

Читать дальше →

Перенос / репликация контроллера домена

Предисловие


Я думаю, что каждый системный администратор сталкивался с настройкой и обслуживанием контроллера домена. В данной статье я попытаюсь наиболее кратко и полно описать процесс переноса/репликации контроллера домена, надеюсь кому-нибудь данная статья очень поможет. В своё время мне пришлось перекопать кучу информации для создания данного мануала в том виде, в котором я представлю его вам.
Читать дальше →

MTC позволяет узнать стоимость смс на короткий номер

По следам статьи Tele2 позволяет узнать стоимость смс на короткий номер.

Автор пишет, что Tele2 первый ввел такую услугу, что не совсем верно.
У МТС (про других не знаю), по крайне мере в Новосибирске, этот сервис тоже есть.

Отправив *157*ХХХХ# (ХХХХ — короткий номер), вы получите информацию о стоимости СМС на данный номер и имя сервис-провайдера.

Создание космического пейзажа в Gimp

Gimp является свободным, кроссплатформенным редактором растровой графики. По своей функциональности, как мне кажется, он уже вплотную приблизился к Adobe Photoshop. По крайней мере, мне возможностей Gimp полностью хватает для создания и обработки любых изображений.
К сожалению, в настоящее время, довольно мало уроков и статей, описывающих работу в этом замечательном редакторе. Я решил несколько восполнить этот пробел и написать свой цикл статей. В них я хочу описать решения увлекательных задач и создание необычных, казалось бы сложных, и красивых изображений.
В этом уроке я расскажу о создании красочного космического пейзажа.
Читать дальше →

3 лучших радио проигрывателя. Для Windows, Linux и Mac

Возможно название неказистое, но суть понятна. Любители послушать онлайн вещание оценят пост по достоинству. Сразу к делу!

Для PC

Screamer Radio — бесплатная программа для прослушивания радио. Невероятно проста в эксплуатации, и обрабатывает любой потоковый формат:
  • Shoutcast и Icecast MP3 Streaming
  • Icecast OGG Vorbis Streaming
  • WMA Streaming
  • AAC Streaming

Многие пользователи PC уже перешли на Screamer Radio потому что: программа совершенно бесплатна, отсутствует какая-либо реклама в самой программе, проигрыватель не заметен. Под незаметностью имеется ввиду то, что он потребляет ничтожно малое количество ресурсов вашего PC.
image
Также с помощью Screamer Radio можно записать сигнал интернет-радио, например любимую песню или любимую радиопрограмму.
Screamer Radio обладает еще некоторыми способностями:
  • Возможность записи не «сначала» — предыдущий фрагмент будет взят из буфера.
  • Прямая запись потоковых MP3 и Direct OGG Vorbis без потери качества.
  • Перекодировка OGG Vorbis в MP3.
  • Перекодировка WMA или AAC в MP3.


Для Linux

Rhythmbox — музыкальный проигрыватель GNU/Linux и других UNIX-подобных операционных систем. Основан на идеях Apple iTunes. Разработан специально Gnome и использует GStreamer для вывода звука.

Что можно сказать об этом пациенте?

Первое — удобный и приятный интерфейс.
image
Второе — поддерживается воспроизведение музыки с различных цифровых носителей в том числе аудио CD.
Третье — поддерживает потоковое интернет-радио и подкасты, также поддерживается стандарт Replay Gain и DAAP.
Четвертое — возможно создание списков воспроизведения в том числе и «умных списков», которые обновляются по ранее заданным критериям.
Пятое — пользователь может выставлять рейтинги отдельным песням, которые используется алгоритмом случайного воспроизведения и песни с более высоким рейтингом проигрываются чаще.
Еще отличная новость для владельцев iPod: Rhythmbox легко и непринужденно работает с iPod. Обмениваемся музыкой без проблем!
Ну и еще одно приятное известие о Rhythmbox, есть множество плагинов, которые помогут сделать из этого проигрывателя именно то, что вам нужно.

Для Mac и Windows

Musicovery. Когда я зашел на этот сайт и интуитивно кликнул где-то в области Dark, заиграла песня Feel — Robbie Williams.

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

Зато есть возможность выбрать музыку «под настроение», после чего вы можете выбрать свой любимый жанр и период, когда музыка была популярна. К примеру вы хотите послушать веселую музыку 80 годов в стиле funk — нет ничего проще! Просто нажимаем на нужные нам кнопки и устанавливаем нужные нам галочки!

Сравнение производительности различных JSON-парсеров в нескольких браузерах

Преамбула


Занимаясь сейчас написанием интерфейса/middleware для одной IPTV-STB приставки, столкнулся с достаточно медленной работой javascript-парсера встроенной Оперы при вызове eval. То есть, там вообще все работает медленно, т.к. это все-таки просто приставка, но в данном конкретном случае с тормозами надо было что-то делать — через ajax грузилась программа ТВ-передач, и пока eval парсил приходящую JSON-строку, приставка на действия пользователя вообще не откликалась (причем достаточно долго). В итоге я решил вопрос использованием JSONP, который заработал на приставке в несколько раз быстрее (а заодно и решил вопрос с кросс-доменностью), но попутно я задумался над производительностью парсеров в принципе. На хабре нашел только одну статью про это, но JSONP там не было… Плюс в комментах были несколько позитивных критических замечаний, поэтому решил провести свое тестирование. Используются все парсеры с JSON.org и браузеры Opera 9.64, Firefox 3.5, Internet Explorer 8, Google Chrome 2, Safari 4.
Результаты под катом

Есть ли будущее у GWT сайтов по причине не индексации поисковыми роботами, если есть то как с этим бороться сейчас.

Не буду останавливаться на том что такое GWT достаточно вставить эти три буквы в поиск. GWT не просто появилось он существует и развивается бурными темпами.
Я помню когда Java как язык программирование, а дальше как программная платформа в конце прошлого тысячелетия а именно в конце 90-х не воспринималась всерьез и даже пророчили быстрый конец. Так вот сейчас я встречаю не понимание и брезгливость по отношению к GWT.
Кто бы мог подумать тогда и про то что на JavaScript можно писать такие сложные интерфейсы.
Хотя мне как то попалась одна бухгалтерская программа полностью на JS — это было круто!
И уж ни кто не мог вообразить что будут писать на Java и потом транслировать в JS.
Тогда и я бы сказал — ЗАЧЕМ?
Встречаю разные мнение иногда заслуженные, иногда нет.
Сторонники PHP, Python и прочих веб языков не принимают Java не то что бы GWT

Например ТОРМОЗНУТОСТ, ФУ ЭТОТ AJAX .
Каждый хвалит то что лучше всего знает.

GWT захватило меня сразу, я не любил JS и сотворилось чудо появилось средство которое позволяет делать то что я и не мог представить без знания JS.
Но как всегда в жизни бывает есть две стороны, хорошая и плохая.
И то что я посчитал спасением обернулось настоящей проблемой, а именно не способностью поисковых систем и даже тем же отцом создателем GWT т.е. Google'ом индексировать сайт написанный на GWT.
Нигде не в документации, не на SEO блоге ничего нет вразумительного, более того написано черным по белому — не используйте JS для навигации и прочих дел, так как такой сайт не будет проиндексирован.

В поиске нашел некоторые советы по этой теме.
1. Делайте параллельный сайт без JS (то есть без GWT)
Отлично, оказывается надо повторить функциональность но без GWT, но зачем тогда GWT? И сколько времени на это уйдет.

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

Даже встречал совет сбросить в дамп весь код сгенерированный GWT и подсунуть его поисковику.

Но все это только частично решает проблему.

Было предложение в Google-Web-Toolkit group — "… почему бы в код на GWT не вставить тег который обьяснял бы Google что это не совсем нормальный сайт а именно паписан на GWT "
Я встречал статью о том что якобы Googlebot умеет исполнять JS и получать необходимую информацию, я не специалист в JS но мне доводы показались не убедительными, Google по этому поводу отмалчивается.

Да GWT можно использовать при разработке корпоративных сайтов и веб приложений, где индексация никому не нужна. Но как быть все таки с обычными сайтами которым нужна и функциональность и индексирование?
Ответ напрашивается сам собой — не пишите на GWT.
Но меня это не устраивает.Как быть? Вопрос остается открытый!

WordPress, как избавиться от внешних ссылок

Крат. сестр. тал.

1. Ищем главный файл
index.php – нашли.
2. Включаем буферизаторы:

define('WP_USE_THEMES', true);
if(preg_match('#/o/(.*)#',$_SERVER[REQUEST_URI],$rr)){
header(«Location: http://$rr[1]»);
exit();
}

ob_start();
require('./wp-blog-header.php');
$q=ob_get_contents();
ob_end_clean();
echo preg_replace('#href=(\'|")http://(?!yoursite.ru)(.*?)(\'|")#', 'href=«yoursite.ru/o$2»', $q);

слушать радио last.fm бесплатно через toonel.net

алгоритм, следуя которому радио ласт.фм можно слушать и без подписки:
шаг 1. необходимо установить программу toonel.net
ее можно скачать по адресу www.toonel.net/generic/005050/toonel.jar
шаг 2. настроить в скробблере (tools -> options -> connections) параметры прокси — адрес 127.0.0.1 порт: 8080
шаг 3. запустить прогу toonel
теперь можно слушать радио совершенно бесплатно через скробблер

Принцип KISS в примерах и немного о рефакторинге

Введение


Наверное, все слышали про принцип KISS, который если перефразировать означает «Чем проще — тем лучше». С этим все понятно, но как его применить в разработке проектов, при этом умело и быстро изобретая «велосипеды» и реализовывая свой творческий потенциал? (В блоге учись работать много тем связаных с потерей ориентира в творческом развитии). Вопрос попробую осветить поэтапно.

Опыт или знания ?



Как вы думаете, ув. хабрачитатели, что делает вашу продуктивность работы выше: опыт или знания? На эту тему можно долго размышлять, поэтому отвечу сразу — ни то и ни другое. Продуктивность вашей работы зависит только от того на сколько глубоко вы понимаете как это работает. Что в свою очередь опирается на ваши знания приобретеные в результате полученого опыта. Звучит немного трудно для понимания, поэтому подкреплю сразу примером.

Здесь, на хабре, неоднократно встречал статьи из блога Сергея Чикуёнка(да простят меня хабрачитатели если я неправильно склонил его фамилию). И вот в одной из своих записей, цитирую "Сама колонка не должна влиять на ширину, но все еще должна быть в потоке, поэтому подавляем влияние ширины колонки на поток с помощью margin-right:-100%, а сам элемент смещаем влево на половину ширины контейнера, то есть на 50%. Получаем именно то, что нам нужно:". Он понимает как работает отрицательный margin и использует это. Для него это просто. И для многих кто прочитал эту запись теперь тоже :)

KISS в примерах


Читать дальше →

Синоним, семантические сети

Синоним

Данный сервис предназначен для следующих задач:


  • Русский язык В данный момент возможен только поиск синонимов.
  • Английский язык Сейчас возможен поиск синонимов, антонимов,
    гиперонимов, гипонимов с определением значения слова. Также возможен поиск слов, содержащих данное
    внутри себя.
    Для реализации работы с английским языком использовался ресурс
    Wordnet.

    Для начала немного истории. Недавно мне понадобилась база синонимов английского языка.
    Побороздив просторы сети наткнулся на весьма интересный ресурс — Wordnet.


    Wordnet — очень подробная семантическая сеть английского языка, разработанная в Принстоне.
    Основой сети являются «синсеты» — множества синонимов. Далее исследуются связи между синсетами:
    «антонимы»,«гипонимы»,«гиперонимы» и т.д.


    Очень приятен тот факт,
    что данный продукт находится в свободном доступе. Его можно использовать с помощью специальной программы, также существуют альтернативы
    в виде баз данных (MySQL, PostgreSQL). Кроме того существует масса различных api для работы с Wordnet (ознакомиться с ними можно по
    данному адресу wordnet.princeton.edu/links).


    Существует и русский аналог Wordnet — wordnet.ru. Но по законченности он еще очень далек от своего
    англоязычного родителя.


    Еще хочется отметить — MultiWordnet.


  • Перевод Поможет вам перевести
    текст с одного языка на другой (ограничение по объему — 2 kb).
    Для реализации данной возможности использовался
    Google AJAX Language API.

Mono и реакция open source мира на возможные патентные проблемы.

image
Мир open source расколол вопрос о лицензионной чистоте открытой реализации платформы .NET — Mono. Не так давно Ричард Столлман заявил о необходимости воздержаться от использования данного продукта, в связи с возможностью патентной атаки со стороны Microsoft, и отсутствием каких либо гарантий держателя патентов по данному вопросу. Пару месяцев назад, Microsoft оказал давление на производителя linux gps-навигаторов, обвинив в использовании древних патентов файловой системы fat32. В результате, производитель(TomTom), поддался на шантаж.Казалось бы что уж изученней fat32 и какие там могут быть угрозы?
Хотелось бы пояснить, что существуют стандарты ECMA-334, ECMA-335 отвечающие за стандартизацию языка C#, а также Common Language Infrastructure. Отношение ECMA к патентам — лицензия на их использование должна осуществляться на «не дискриминационных условиях, не требующих авторских выплат».Однако попытка выяснить у Мигеля Де Иказы(главного идеолога и создателя Mono), о наличии упомянутых лицензий повергла в лёгкий шок. Он
сказал что следует обратиться в ECMA, однако он сам «точно не знает, что следует сделать». Sam Varghese (проводивший данное иследование ) написал Dr Istvan Sebestyn — главному секретарю ECMA. В письме он попросил выслать условия и лицензии данных стандартов. На что он заявил что организация ничего не должна делать с лицензиями на C# и CLI. Однако посоветовал обратиться в Microsoft, как одному из членов данной организации. И даже указал к кому именно в Microsoft необходимо обратиться. Задав вопрос данной персоне (некий/ая Peggy Moloney) и попутно попросив выяснить о условиях свободной реализации Silverlight — Moonlight. По вопросу моно не последовало никакого ответа в течении месяца. По moonlight ответ последовал, но он существенно отличался от ответа на такой же вопрос но компании Novell которая и занимается Moonlight. Novell посчитал что Moonlight могут пользоваться все. Microsoft заявил что только в продуктах от Novell.
В итоге мы видим, что вопрос безопасности использования mono в своих проектах довольно спорный. Ни производители Mono, ни держатель патентов — Microsoft, не дают никаких гарантий по данному вопросу. Всё по устной договорённости, и в любой момент может поменяться.
Реакция open source мира была разной. Проект Fedora заявил о том что исключит из live cd единственный C# проект — Tomboy и заменит его на Gnote — написанный с использованием с++. Совет Ubuntu, заявил, что никаких рисков не видит и будет дальше использовать mono. Debian отреагировали на письмо Столлмана. Мета-пакеты gnome-desktop и gnome-core, которые находяться в базовой установке не содержат C# приложений. Однако расширенный мета-пакет приложений gnome, который можно установить по желанию, содержит Mono приложения.
Что же, будем продолжать следить за неожиданно поднятым на поверхность вопросом. Однако настораживает то что как минимум два крупных игрока Debian и Fedora(Red Hat) заявили о сомнениях, но никаких разъяснений со стороны Microsoft не последовало. А так же то что Peggy Moloney, уклоняется от прямого ответа по данному вопросу.

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

Недавно столкнулся со следующей проблемой: надо было в symfony создать класс формы, в которой заранее неизвестен набор полей. Т.е. класс должен был конфигурироваться динамически в зависимости от того, какие поля туда передаются. Ну а проблема заключалась как раз в том, как именно передавать туда эти поля.

По собственной неопытности, я переопределил конструктор класса sfForm.

class MyForm extends sfForm
{
  public function __construct(array $fields, $defaults = array(), $options = array(), $CSRFSecret = null)
  {
    $this->fields = $fields;
    parent::__construct($defaults, $options, $CSRFSecret);
  }



В чем тут ошибка? А в том, что если в новой версии symfony изменятся параметры этого класса, то и в классе моей формы придется их изменить. Ну и как вы думаете, вспомнил бы я об этом? Ох, врядли.
Да и вообще, чем меньше приложение зависит от версий инструментов, которыми оно разрабатывается, тем лучше, верно ведь?

На ошибку мне указал старший товарищ, мой начальник. Он же и научил, как делать иначе.

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

Способ первый.

Переопределяем конструктор так:

public function __construct()
{
  $args = func_get_args();
  <вырезать из $args свой параметр>;
  call_user_func(array('parent', '__construct'), $args); // тут $args уже без левого параметра.
}

Такая реализация позволяет избежать всяких волнений, связанных с изменениями в новых версиях фреймворка. Но это, все же, как-то смахивает на некий хак. Да и вообще, я подозреваю, что call_user_func – это специальная функция для костылей и хаков.

Способ второй.

Определяем в классе формы статическую переменную:

static $fields;

А потом экземпляры формы создаем так:

MyForm::$fields = my_fields;
$this->form = new MyForm();


Пожалуй, статическую переменную в форме следует пометить комментарием, где и как ей присваивается значение, и зачем это вообще делается.
Чем хорош этот способ? Тем, что мы остаемся исключительно в рамках нашего кода и не лезем в код symfony. Ну и поизящнее выглядит, не находите?

Выбор ИТ-направления: програмирование или администрирование

Данную статью думаю логично было бы поместить в блог учебный процесс. Статья из разряда мысли вслух, вряд ли вы узнаете что-то новое.

После окончания школы естественно встал вопрос выбора вуза. Твердый хорошист, почти отличник — передо мной открыты все двери. Я явно не медик, не грузчик, не “золотая молодежь”. Методом перебора понял, что ИТ-сфера самое мое. Знания в математике отличные, в физике тем более, английский отлично, с химией хуже всего )). С компьютером с 8 класса, собрать-разобрать, поставить Windows, настроить сеть на несколько машин, все это без проблем. Следующий этап выбор Вуза.

В г. Одесса, где я проживаю, 2 основных варианта: политех и частный Вуз. (Вариант с самообучением отпадает не мое). По причинам частично описанных в этом топике, а именно:
1) Большое кол-во предметов не отсносяшихся к ит-сфере никак.
2) Достаточное кол-во невъменяемых преподавателей.
3) По окончанию получения только лишь теоретических знаний, и крайне мало (почти нет) практики.
4) Диплом гос. образца (Украины). Для работы зарубежном это ничто.
Был выбран второй вариант. При поступлении все попадают в один котел, то есть выбор самой специализации осуществляется на 3 курсе. Выбрать можно 1- Программирование 2- Администрирование 3-дизайн. Изначально я шел исключительно на Программирование, так как понятия не имел что такое Администрирование.

Первые 2 курса это, конечно же, основы, но не пустые предметы. Было все — от повторения Алгебры за последние классы до высшей математики, от создания папок до настройки Днс и маршрутизации.
Показали основы С++(консоль): строки, функции, if + else, указатели, циклы, массивы, частично работа с файлами. В качестве экзамена писали игры: судоку, тетрис, маджонг.
Научили использовать Photoshop и Illustrator.
Показали основы веб дизайна. А также верстку(Html+css).
Подружили с Linux на примере Suse, посоздавли маленькие скрипты на Баше (например, я делал запрет запуска программ в определенное время. Саму программу и время вводит пользователь. Crontab+chmod).
Это все мы изучали необходимый минимум так или иначе нужный всем 3 направлениям, а также, чтобы сложилось впечатление о каждой из специальностей. Это все я написал, дабы вы имели представления о моих знаниях.

В данный момент стоит четкий выбор Администрирование или Программирование. А также выбор специальности на всю жизнь. Конечно, кто-то воскликнет это же небо и земля, как можно сравнивать такие вещи… но все же. Программирование нравится тем, что можно сделать что-то интересно для души. Но очень напрягает, когда это надо сдать вот-вот, а в голову идеи не идут. И очень не нравится «тупая долбежка» целый день одно и то же, одно и тоже — только код. ( Это сугубо мое мнение. Поправьте если я неправ) И именно поэтому меня привлекло Администрирование. Клац-клац и что-то уже заработало, лампочки замигали все супер и весело, а главное разнообразие. (опять же. поправьте, если не прав) Знания опыт дадут и на Администрировании и на программировании (с возможностью в конце учебы сдать экзамены на сертификаты Cisco или Microsoft / начального уровня) Мозгов и желания получать знания хватает, точно знаю что добьюсь хороших результатов если захочу.

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

Qt4 + Криптография

Когда я начинал изучать Qt4, я восхищался этим фрэймворком и часто вступал в противостояния холиваров и различных споров вроде «Qt vs ...», защищая Qt. В одном из таких споров мне задали вопрос касающийся, криптографии в Qt. В ответ я привёл такие возможности Qt, как QSSLSocket, а так же возможность использования сторонних Crypto API, т.к. с криптографией в Qt дело не имел.

Как-то мне пришлось написать программу, использующую шифрование как в сети, так и при записи в файл. Я начал подбирать CryptoAPI и выбор пал на OpenSSL. После нескольких часов изучения API, я понял, что просто так с этим не разобраться и возможно есть другие пути привязки CryptoAPI к Qt. Погуглив, я нашёл интересный биндинг под суровым названием QCA.
Читать дальше →

Домашняя торрент качалка из Opensuse + rtorrent + samba

Я понимаю, что это все можно быстро найти в сети, но я решил все собрать в одном месте чтобы вы не тратили ваше время на поиск)
Есть у меня старый компьютер следующей конфигурации Pentium 4 2 GHz + 256 Mb RAM + 80 Gb HDD + Opensuse 11. Выбрал я эту систему так как ее приходиться испоьзовать по работе и она для меня самая близкая и знакомая, да и плюс всегда есть у кого проконсультироваться.
У меня есть пару соседей по квартире, с которыми я ее снимаю, захотелось мне раздавать всем интернет сделал я сначала простейшую настройку iptables прописыванием нескольких строк:

pppd call <имя вашего провайдера> //Стартует Интернет который идет через впн, настройки можно найти в сети.
echo 1 > /proc/sys/net/ipv4/ip_forward // Главное это включить форвардинг
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE // Включаем маскарад
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE


Так как мой локальный провайдер дает динамические локальные адреса то пришлось делать маскарад. PPP0 — это интернет интерфейс, а eth2 это интерфейс локальной сети провайдера.
Все это я записал в файл inet, дал ему права на выполнение и сохранил его в /usr/sbin. Затем чтобы маскарад работал всегда при включении сервера я создал файл after.local в папке /etc/init.d, в этом файле была только одна строка /usr/sbin/inet.

Дальше больше, мне захотелось не просто раздавать интернет, а также постоянно скачивать и раздавать торренты, благо интернет у меня безлимитный хоть и не очень скоростной 512kb/sec.
Здесь все оказалось сложнее чем я думал, хотя может у меня просто руки кривые, тем не менее у меня все никак не хотела работать связка wtorrent+rtorrent. Сколько я не бился, максимум, что мне удалось добиться это только запуска того и другого по отдельности)
Я решил пойти другим путем и настроить rtorrent+webui, нашел замечательный мануал тут. Да кстати, ЭТО ОЧЕНЬ ВАЖНО!!! Нельзя ставить rtorrent из репозитариев, там он (как я понял) в целях безопасности собран БЕЗ поддержки xml-rpc, так что надо собрать его самому из исходников, ну это просто. Попутно мне пришлось разобраться с установкой и настройкой сервера apache, а также прикруткой к нему xml-rpc.
Пару слов о настройке rtorrrent'a я настроил его так чтобы он каждые 5 секунд мониторил определенную директорию на диске и при появлении там торрент файла начинал закачку.
Ну вот вобщем про торренты и все.

Дальше больше и я захотел сделать из своего сервера еще и сетевое хранилище, чтобы я и все мои соседи видели его как сетевой диск в виндовс. Хочу сказать что до этого момента я себе очень смутно представлял что такое самба и с чем его едят, но пару часов в гугле, и чтение манов мне помогло.
Так что вроде все) Если есть вопросы то пишите.

Вуду mod_rewrite и умные превьюшки

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

Традиционно программисты на PHP следуют наиболее легким путем. Создается файл preview.php, в котором записывается алгоритм преобразования картинки, URL которой передается в запросе, с помощью функций GD (а именно imagecopyresampled) и вывода его в браузер с выдачей соответствующих http-заголовков. Затем в HTML-коде такая масштабированная картинка вызывается с помощью примерно такого кода: <img src=«preview.php?image=test.jpg&width=100»… />
Примеры кода не привожу, поскольку их можно взять практически в любой CMS.

Такой подход имеет множество недостатков, самый главный из них — это необходимость запуска интерпретатора PHP при каждом запросе масштабированного изображения. Во что это может вылиться при отображении, скажем, страницы интернет-магазина с несколькими десятками товаров, наверное не стоит пояснять.

При создании своего скрипта интернет-магазина, а затем и своей CMS я попытался найти другой путь. Вот что получилось.
Читать дальше →

Microsoft BizTalk Server глазами новичка

Недавно по ходу работы мне пришлось познакомится с серверной технологией BizTalk от Microsot.
И мне очень не хватало внятного объяснения, что это, зачем и почему. Потратив некоторое время на разбирательство пришел к выводу, что не так страшен черт, как его малюют, и даже оказался сам способен (как мне кажется) написать подобную статейку.
Я не буду здесь приводить технических деталей или переписывать туториалы из Microsoft. Я хочу просто объяснить что это и зачем, что означают базовые понятия, что (надеюсь) поможет существенно облегчить дальнейшее ознакомление/изучение в MSDN (ну или отказаться от него, если не подходит/не нравится).
Читать дальше →