LINUX.ORG.RU

Сообщения eugine_kosenko

 

Танцы с бубном

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

В разных источниках можно встретить массу рекомендаций. Например, что радиус бубна должен быть равным радиусу кривизны рук программиста[1] или, что бубен должен быть сделан из кожи "девственного юзера"[2] или, что цвет бубна должен совпадать с цветом обоев на компьютере и т.п. Е-р-у-н-д-а! Глупые суеверия и невежество! Неважно какого цвета, размера и из какого материала изготовлен бубен. Важно лишь то какие рунические письмена нанесены на бубен.

Какие же руны должны быть на бубне? Ответ прост. Это должны быть фрагменты кода реальных, а главное, работающих программ. Желательно, чтобы фрагменты были взяты из разных программ и написаны на разных языках программирования.

На каких же языках должны быть руны на бубне? А это зависит в первую очередь от того на каком языке написана заклинаемая программа. Если Ваша программа написана на C++, то на Вашем бубне обязательно должна быть руна на C++, если программа на Java, то должна быть руна на Java и т.д. Если Ваша программа написана на нескольких языках, то Ваша задача усложняется, т.к. Вам потребуется бубен с рунами каждого из используемых языков. Можно ли использовать несколько бубнов вместо одного? Да, но только если они совместимы между собой[3]. Запомните, что бубен без руны используемого Вами языка программирования для Вас бесполезен. Однажды я встретил бубен с рунами на Коболе и ассемблере IBM 360. Дествительно редкая вещь! Но для современного программиста совершенно бесполезная.

Выбирая бубен, остерегайтесь подделок. Сейчас можно встретить множество бубнов с кричащими именами: 20 в одном, 40 в одном и даже 100 языков в одном бубне. Но если внимательно присмотреться к таким 'творениям', то видно, что все фрагменты кода приведенные там есть ничто иное, как программа 'Hello World!', продублированная на разных языках. Такой бубен Вам ничем не поможет. Разве только при создании программы уровня 'Hello World!'.

Предположим Вы выбрали бубен и приготовились к танцу. Хорошенько подумайте о том какой именно танец Вы собираетесь воспроизвести. Помните, что не любой танец подойдёт для Вашей программы. Танец изгнания духа Меморилика[4] совершенно бесполезен для программы написанной на Java, точно так же бесполезен танец задабривания виртуальной машины Java для программы на С++[5].

И напоследок я хочу развенчать устоявшийся миф о том, что танцы с бубном способны изгнать баги из программы. Несусветная глупость! Однако очень живучая и кочующая из поколения в поколение. Суть танца с бубном есть обращение к Великому Духу Первопрограммера и его сыну Первопрограмме, а также отречение от Первородного Бага. Правильно исполненный танец с правильным бубном будет услышан Великими Духами и они даруют Вашему детищу своё Благословение и Защиту от багов. Таким образом Вы не избавитесь от багов, но они на время перестанут проявляться. А вот на какое время они перестанут проявляться зависит от мастерства танцора. Я различаю 4 уровня мастерства владения бубном.

1-й уровень Программист умеет заклинать конкретный экземпляр программы на конкретном компьютере на короткий срок.

2-й уровень Программист умеет создавать собственный бубен.

3-й уровень Программист умеет заклинать множество экземпляров программы на множестве удалённых компьютеров на длительный срок.

4-й уровень Программист умеет обходиться без шаманского бубна.

И наконец, мой последний совет. Допустим Вы купили бубен и совершили удачный танец - программа во время сдачи работала как надо. Не торопитесь почивать на лаврах. Сядьте и попробуйте разобраться, почему Ваш код работал не так как надо[6]. Если же это невозможно, то у Вас есть два варианта: пересмотреть свою жизненную позицию и заняться чем-то другим[7] либо валить нафиг из этой шарашки, в которой создание программного продукта без плясок с бубном невозможно.

Искренне Ваш, Гура Кодович Бажев

-------------------------------------------------------------------------------- ------------------------ [1] Определение радиуса кривизны рук программиста и эмпирическая формула вычисления радиуса хорошо описаны в знаменитой книге Федора Буста "Мифический человеко-бубен". [2] "Девственный юзер" - ныне почти вымерший вид пользователя, не испорченного графическим пользовательским интерфейсом. [3] Совместимость бубнов между собой выходит за рамки данной статьи и будет расмотрена автором в отдельной статье. [4] Меморилик - злое мифическое существо по мнению дотнетчиков проживающее в каждой программе на C++. ( (с) WolfHound ) [5] Обучиться танцами с бубном Вы можете с помощью моих книг: "50 эффективных танцев c бубном" и "Ещё 35 более эффективных танцев с бубном". [6] А тебя Петя это касается в первую очередь. Ты думаешь я писал эту статью ради твоего развлечения?! Мне уже порядком надоел 'The instruction at "0x00405414" referenced memory at...' в твоём модуле. Сейчас после сдачи есть немного спокойного времени. Так вот сядь, разберись и покончи с этой ошибкой раз и навсегда! [7] Нет, Петя, я не шучу.

eugine_kosenko
()

Это типа реклама?

eugine_kosenko
()

ИМХО, нацпол и офтопик

eugine_kosenko
()

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

http://cooler-online.com/cl111206.html#a6

======================================================================== Читатели указывают на гуглевский сервис Copyscape (http://www.copyscape.com/), который позволяет искать страницы, содержащие текст (часть текста) со страницы-оригинала (должна быть доступна в сети). Т.е. для копирайтеров и редакторов веб-изданий этот сервис неоценим. Я с трудом представляю, как это сделано, хотя выглядит все очень просто и изящно. Действительно ищет, и даже - части текста.

Какой-то алгоритм поиска весов слов что ли... Работает он практически с любым языком.

Вроде как берется несколько фраз из страницы и они ищутся через Google. За объемные страницы уже надо быть пользователем со статусом "pro" - и за это надо будет платить. ========================================================================

Если натравить ее на главную страницу ЛОР, то получаем пяток интересных ссылочек.

eugine_kosenko
()

Нарушение GPL в Jabber-сервере TalkEZ-IM?

Вот, измученные вечным падением службы Windows Messenger, решили установить персональный Jabber-сервер, а потому как контора вся из себя на оффтопике, встал вопрос поиска. По ходу одна из первых ссылок -- TalkEZ-IM. При установке появляется вот такое интересное EULA:

====================================================================== End User License Agreement

By installing software You accept terms of this license.

TalkEZ-IM-Center is a Instant messaging software, that based on a Jabberd2 server and other software.

(c) 2005-2006 STAsoft.net Group. All rigths reserved. (c) 2001-2006 Korsakov Stanislav. All rigths reserved.

This software includes some parts, that is a 'larger work' in terms of Mozilla Public License v1.0, some parts, that covered on a proprietary license. Also, this software includes some part, that covered a GPL and (or) GPL-like licenses.

TalkEZ-IM-Center has portion copyright: (c) 1999-2003 Equivalence Pty. Ltd. (c) 2001-2006 Korsakov Stanislav. This product includes software: - SQLite: An Embeddable SQL Database Engine (http://www.sqlite.org) - PostgresSQL (development libraries and headers) http://www.postgresql.org/ - MySQL (development libraries and headers) http://www.mysql.com/ - developed by the OpenSSL project for use in the OpenSSL (http://www.openssl.org). - Jabberd2 server software by the Jabberd project (http://jabberd.jabberstudio.org/2). Copyright (c) 2002-2004 Jeremie Miller, Thomas Muldowney, Ryan Eatmon, Robert Norris. - Expat. Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper. Copyright (c) 2001, 2002 Expat maintainers.

This program is a shareware software and distributed "as is".

You can use this software without any fees and (or) royalty for personal, education and other non-commercial purpose. The software distributed without any garantee in this case.

You can not use this software in any commercial purpose without 'Commercial License'.

You can obtain 'Commercial License' from us or our partners. If you have bought our 'Commercial License', - You can obtain products support through our web-services. - You can obtain new version of product with a great discount. =======================================================================

Я вот слегка офигеваю от такого подхода. Неужели GPL такое позволяет?

В принципе, как сотопик, может ли кто подсказать идеологически правильный Jabber-сервер для вражеской платформы?

eugine_kosenko
()

Firefox в космосе ;-)

Логотип браузера за 20 000 световых лет от Солнца, на краю нашей Галактики. Переменная звезда V838 Monocerotis, была сфотографирована Хабблом пятого марта в 2004м. (http://antwrp.gsfc.nasa.gov/apod/ap040305.html )

Хм. Немного перевернем изображение и...

http://www.ksta.de/ks/images/mdsBild/1132660403592l.jpg (с) RSDN

Ну а это не совсем космос, но тоже занятно:

http://www.google.com/maps?f=q&hl=en&q=&ie=UTF8&om=1&t=k&...

:-)

eugine_kosenko
()

Почему бы не светить IP анонимусов?

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

Понятно, что это не панацея, да еще и провокация флейма на предмет "а ты кто такой?", но все же?

eugine_kosenko
()

В завершение фразы о Лиспе

Хотел этим сообщением поставить жирную точку в дискуссии, но по
непонятным мне причинам ветка оказалась закрытой. Так что, чтобы
завершить дискуссию, пришлось открыть новую. Вот такой вот печальный
каламбур :-(.

Итак, до финиша дошло три программы:

Lisp (eugine_kosenko)
http://aroks.kiev.ua/pub/wiki/ProgrammaLabirinta

Python (redvasily)
http://rapidshare.com/files/1245074/advworld2.rar.html

Ocaml (satanic-mechanic)
http://sigma.by.sigma.neolocation.net/satmech/LOR-contest-2006.10.31-00.05.tar

На самом деле авторство несущественно (я, например, пользовался
подсказками), просто для определенности. Сводная статистика следующая:

Параметр                        | Лисп | Питон | Окамл
---------------------------------------------------------
Общая длина                     | 1278 |  1439 |  1283
Смысловая длина                 |  371 |   574 |   403
Общий тезаурус                  |  191 |   190 |   150
Смысловой тезаурус              |  106 |   147 |    93
Общая насыщенность (в %)        |   29 |    40 |    31
Насыщенность тезауруса (в %)    |   55 |    77 |    62
Общая выразительность (в %)     |   15 |    13 |    12
Смысловая выразительность (в %) |   29 |    26 |    23

Читать это можно как угодно, все зависит от того, считать ли стакан
"наполовину полным" или "наполовину пустым". В целом можно сказать,
что на задачах общего плана Лисп, как минимум, чуть-чуть лучше
аналогичных языков. Лисп стал победителем по общей длине (хотя и с
небольшим отрывом), по смысловой длине (примерно в 1.5-2 раза), у него
оказалась самая высокая выразительность (как общая, так и смысловая).
Проиграл Лисп по размеру тезауруса и, как следствие, насыщенности. И
то, проигрыш не абсолютный.

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

Наконец, в программе на Ocaml есть занятная багофича: если предмет
бросить на выходе, то он исчезает :-).
eugine_kosenko
()

Киев: конференция разработчиков и пользователей свободного ПО

Группа Open Source
В субботу 27 сентября 2003 г. в Киеве будет проходить вторая конференция разработчиков и пользователей свободного ПО. Приглашаются все желающие.

Тема конференции

Практическое применение свободного ПО в Украине.

Основные задачи конференции:

* Осветить преимущества использования решений на базе свободного ПО
* Продемонстрировать существующие продукты и перспективы их развития
* Показать тенденции к переходу на свободное ПО в мире
* Инициировать развитие коллективной разработки свободного ПО

Конференция является хорошей возможностью для того, чтобы:

* представить свой проект общественности,
* познакомиться с разработчиками ПО в своей предметной области,
* узнать больше о том, что происходит в данной среде,
* и, наконец, от души пообщаться.

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

Желающие помочь в переводе сайта на английский язык могут обращаться по адресу misha@rattler.kiev.ua или eugine_kosenko@yahoo.com

>>> Подробности (osdn.org.ua)

eugine_kosenko
()

RedHat возглавит борьбу сообщества Open Source против SCO

Ну, наконец-то нашелся кто-то, кто организовал фонд юридической защиты Сообщества!

Фонд защиты Linux-сообщества

Red Hat объявила также об учреждении специального фонда Open Source Now Fund для оплаты всех судебных издержек, которые могут потребоваться от Linux-сообщества. Сама она внесла в этот фонд 1 млн $. Фонд должен помочь покрыть судебные издержки разработчиков open-source, работающих по лицензии GPL (General Public License), и некоммерческих организаций, вовлеченных в тяжбу с SCO. Red Hat надеется, что взносы в Open Source Now Fund сделают и другие. Жалик сказал, что компания попросит финансирования у SuSE и других фирм, получающих доходы от Linux. «Процесс сотрудничества разработчиков ПО с открытым исходным кодом, в результате которого создана операционная система Linux, не раз подвергался испытаниям и угрозам, — говорится в заявлении Жалика. — Как лидер отрасли, Red Hat несет ответственность за юридическую защиту прав пользователей».

Представитель SuSE Джо Экерт сказал, что его компания поддерживает инициативу Red Hat, но пока слишком рано говорить о том, что SuSE сделает взнос в организованный фонд.

Сторонник ПО с открытым исходным кодом Брюс Перенс одобрил шаг Red Hat. «Я рад, что Red Hat так поступила: для общественного мнения важно, что сообщество может постоять за себя». Однако в широком плане у движения open-source нет всего необходимого для успешных юридических действий, так как дела IBM и Red Hat, по мнению Перенса, завершатся, скорее всего, мировыми соглашениями, а не судебными постановлениями, а SCO скрывает свидетельства своей правоты, чтобы программисты не могли увидеть якобы нелегальный код.

Полный текст новости приведен на

http://zdnet.ru/?ID=304799

Так что, все желающие скинуться по $1 на защиту Linux могут обращаться в соответствующие инстанции.

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

eugine_kosenko
()