среда, 22 июля 2009 г.

ICQ Trap

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

Я просто приведу отрывки из лицензионного соглашение, которые вы принимаете отправляя сообщения по аське:


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

...


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


...

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


...

При отправке или рассылке документов, информации или иных материалов ("Материалы") в ICQ или при направлении информации, вводимой в различные указатели и инструментарии ICQ, и любых сообщений на доске сообщений ICQ вы (1) гарантируете, что не обладаете никакими правами в отношении Материалов, и на основании имеющейся у вас информации никакая сторона не имеет никаких прав на эти Материалы; (2) предоставляете ICQ неограниченное, бессрочное, неотзывное разрешение использовать, воспроизводить, демонстрировать, исполнять, адаптировать, изменять, передавать и распределять Материалы с использованием всех средств аудиовизуальной информации; и (3) соглашаетесь, что ICQ свободна в использовании любых идей, ноу-хау, концепций, методов или иных материалов, которые отправлены вами в связи с любой целью.


...

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


http://www.icq.com/legal/license_agreement_rambler.html

понедельник, 20 июля 2009 г.

Microsoft linux version 1.0

Вот свершилось, майкрософт начал строить ветреные мельницы, что бы его не сдуло ураганом из линукс сообщества.

http://www.microsoft.com/presspass/features/2009/Jul09/07-20LinuxQA.mspx

По ссылке: майкрософт поделилось с линукс сообществом 20 000 строк кода, передав в ядро линукс несколько драйверов отвечающих за более эффектинвую виртуализацию линукс платформы на виндус серверах.

За что я не люблю коммерсантов, так это за их не принципиальность. У них один закон - закон личной наживы, стремление продавать и зарабатывать деньги на любых вещах, принципах и явлениях, моральных и аморальных. Билл Гейтс в свое время сказал, что бизнес это не может быть справедливым. Так и получается, что вся экономика сводится к поиску слабых мест во законодательной машине и их эксплуатирование. Получение выгоды на любых процессах, и отношениях причем рынка здесь нету. Для настоящих коммерсантов то понятие украсть не существует, так же как для солдата в армии он не ворует, он берет то что плохо лежало.

Так и сейчас, Майкрософт отказывается от своей ОС в пользу другой, но с сохранением тех же монополных условий.

Уверен, что в скором времени появится ОЕМ версия Майкрософт Линукс вер 1.0. Свободная для домашнего использования, с платной поддержкой, платной базой для ентерпрайз решений и с огромными ограничениями и зкарытыми частями кода и грудой патентов.

Компания Майкрософт, образовалась за счет того, что нашла выгодным для себя эксплуатирование ошибок в патентной системе США, а потом захватив компьютеры и по всему миру. Рынок стал тотальной монополией, и перестал быть рынком, а стал навязывать обязательные условия, от которых вы не можете отказываться или которыми вы даже не управляете (такие как гос закупки). Получается, условием успешной компании или системы в наживании на ошибках, в данном случае, тех, которые заложили законоправы.

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




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



Ф.М. Достоевский

суббота, 18 июля 2009 г.

В ожидании Windows 7

Очередной виток в развитии настольных операционных систем скоро свершится и на свет появится Windows 7.

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

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


Прижми нежней к груди свое дитя!
Но - бережно, чтоб не разбилась склянка.
Вот неизбежная вещей изнанка:
Природному вселенная тесна,
Искусственному ж замкнутость нужна.

Иоганн Гете (в переводе Б. Пастернак)


четверг, 16 июля 2009 г.

erlang trick stuff

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

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

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

Так рождаются мифы, и эффективные продажи, а теперь больше о деле.

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


http://www.infoq.com/presentations/wiger-multicore-erlang

Несмотря на то, что в первые 20 минут докладчик утверждает что распределенные вычисления это сложно, с ерлангом вы это сделаете за пару минут.

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

Вот что у меня получилось вкратце:
1) эрланг легкий язык для создания распределенных вычислений
2) да, но без определенных знаний при реализации тривиального map/pmap, в нашем языке Х(икс) вы получите либо не эффективный код, либо код с потенциальными проблемами надежности. Но эранг это хорошо.

1) эранг эффективный язык.
2) правда в некоторых НЕ ПРАВИЛЬНЫХ реализациях тестов, наш некоторый язык Х(икс) медленней С++ в 200 раз. Но еранг даже не смотря на эти таблички, он должен! и работает быстрей, чем тут написано.

1) эрланг отлично работает без общей памяти и атомарный
2) правда в нашем языке Х(икс), случаются ситуации когда вы ловите time-related bugs. Но используя quckcheck, технологию Erlang, вы без труда сами найдете любые ошибки.

1) эрланг отлично работает без mutex
2) но в некотором языке есть проблемы с API среды и требуют доработки, хотя мы не знаем как это исправить.

Докладчик мрачно замечает только локальные проблемы, говоря о сложностях некоторых реализаций, не видя проблемы в целом и не произнося величественного: Defective By Design. Продолжая читать с совершенно каменным и добрым лицом, он не указывает на просчеты в дизайне механизма обработки ошибок. О том, что обработка исключений вообще не вписывается в общий синтаксис языка и притянута за уши. Такие вот временные решения всегда и везде были причиной подобных ошибок. Но это вы там не услышите.

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

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

Не хочу оставлять свою речь без положительных моментов. В итоге, что же мы тут находим интересного. В презентации мы в очередной раз узнаем о том, что атомарные приложения, гораздо лучше подлежат отладке, чем с большим количеством циклов и условий. В этом нам всегда помогает хороший интерактивный отладчик и классические юниттесты. Писать код лучше без использования lock конструкций и общих областей памяти. Однако, такие конструкции лучше скрывать внутри объектов. Лучше, если ваш код будет напоминать архитектуру еранг приложений. А это: объектный язык, имеющий атомарные вызовы методов, с пулом потоков равному количеству процессоров на вашей системе. В итогде вы получаете эффективный, распределенное приложение, в удобной среде отладки, лишенное сайд эффектов - С++\Java приложение.


Ссылки по теме:


Donald: I don’t want to duck your question entirely. I might as well flame a bit about my personal unhappiness with the current trend toward multicore architecture. To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks! I won’t be surprised at all if the whole multithreading idea turns out to be a flop, worse than the "Itanium" approach that was supposed to be so terrific—until it turned out that the wished-for compilers were basically impossible to write.

VirtualBox usb support (Fedora)

По умолчанию доступа к USB под гостевой операционной системой на дистрибутиве Fedora вы не получаете. Пользователю по умолчанию не хвататет прав для работы с устройствами и требуется дополнительная настройка.

Необходимость подключения USB устройст в гостевые ОС очень разнообразна. Это могут быть весь спектр приложений требующих прямой доступ к USB устройствам, а так же работы системных утилит с флешь насителями.

Так например, после того как вы создали образ livecd (в предыдущем моем сообщении) и желаете его поместить на загрузочную Флешку вам необходимо подключить носитель к гостевой ОС и проделать все необходимые действия для создания живого образа.

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

Первым делом добавьте себя в группу vboxusers. Это можно сделать командой usermod -a -G vboxusers, или в ручную, через редактирование файла /etc/groups.

[axet@axet-laptop ~]$ cat /etc/group|grep vbox
vboxusers:x:501:
[axet@axet-laptop ~]$ 

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

Следующим шагом необходимо добавить новую точку монтирования. В файле /etc/fstab добавьте:

none                    /sys/bus/usb/drivers    usbfs   auto,busgid=501,busmode=775,devgid=501,devmode=666 0 0

После перезагрузки машины, указанные действия примут законную силу.

Fedora LiveCD respin

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

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

Не так давно я обновил Fedora 10 до версии 11 на всех своих ноутбуках и маленьком домашнем сервере (mac mini) и получил массу проблем на десктоп машинах. К сожалению, они стали не работоспособны.

Поработав над проблемами я создал небольшие отчеты на каждую из них и написал репорт в bugzilla.redhat.com. Хоть и две машины успешно перешли на новую версию этой операционной системы два остальных ноутбука пришлось откатить на предыдущую (Fedora 10).

В моем случае для обоих ноутбуков перестали корректно работать драйверы видео карт. Оба ноутбука имеющих чипсеты ATI и Intel для видео вывода не захотели загружаться.

Процедура восстановления предыдущей версии дистрибутива не так сложна, как это могло было бы быть на Windows. Впредь, я решил не экспериментировать и не устанавливать новые дистрибутивы на рабочих машинах до полной стабилизации новых версий Fedora.

Для того чтобы не тратить время на установку и повторный откат (downgrade) до предыдущей версии в случае возникания проблем необходимо проверять дистрибутив без его установки - через использование образов загрузочных дисков LiveCD.

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

Теперь к делу.

Для того что бы получить последнюю версию дистрибутива со всеми последними обновлениями необходимо запустить готовый скрипт livecd-creator доступный в репозитории дистрибутива, с некоторыми параметрами. Эти параметры я приведу ниже. Но прежде всего, вам будет необходимо создать виртуальную машину с установленной гостевой операционной системой. Это ограничение возможно не всегда обязательно, но так как скрипты создания mkinitrd и другие были обновлены в Fedora 11 по сравнению с Fedora 10 вам необходимо работать именно из последней версии операционной системы. Возможно, в дальнейших версиях дистрибутива этих ограничений не будет.

Шаги следующие:
- установите виртуальную машину (я советую VirtualBox)
- установите пакет livecd-tools.i586 && spin-kickstarts.noarch
- и запустите следующий скрипт:

livecd.sh
#!/bin/bash

# http://fedoraproject.org/wiki/FedoraLiveCD/LiveCDHowTo

sudo livecd-creator --config=livecd.ks --cache=/var/cache/yum/livecd

livecd.ks
%include /usr/share/spin-kickstarts/fedora-livecd-desktop.ks

repo --name=fusion-f --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-11&arch=$basearch

repo --name=fusion-f-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-11&arch=$basearch

repo --name=fusion-nf --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-11&arch=$basearch

repo --name=fusion-nf-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-11&arch=$basearch

%packages
gparted
vlc
gimp

%end

среда, 15 июля 2009 г.

Авторство

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

Я всегда стараюсь придерживаться следующих правил:
- читать первоисточники
- ставить ссылки на источники материала
- копить и делиться своими мыслями

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


Ф. М. Достоевский