Re[2]: аналогия с Wikipedia
От: Зверёк Харьковский  
Дата: 25.09.05 21:28
Оценка:
Здравствуйте, DarkGray, Вы писали:

ЗХ>>Хотелось бы репозиторий кода, основанный на принципах Wikipedia.


DG>в чем отличие, от http://sourceforge.net, например?


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

DG>допустим Codepedia уже есть, какие кусочки кода ты хотел бы там видеть?


Вот это уже по делу вопрос.
В теории — те, которые соответствуют (1) — лаконичные решения повседневных задач. Сверхцель — чтобы, как только у меня возникает некая "типовая" задача (типовая == с большой вероятностью, эту задачу уже неоднократно решало великое множество программистов) наиболее естественной мыслью было бы — пойду возьму codepedia.

На практике... Т.е. чтобы примеры привести... Вообще, надо в rsdn.src покопаться но в общем:
* простые абстракции — математические, баз данных, регекспов, и т.д. и т.п.
* платформ-специфик вещи: скажем, простенький код для работы с tray icon или hook...
...ммм... чего-то такое.

(Вообще говоря, часть буста стоило бы раздербанить на такие вот "сниппеты" — это просто другой подход, не "большая библиотека, в которой есть все — стоит только заинклудить", а "место где можно взять типовой код решения такой задачи, вылизанный до белизны")
FAQ — це мiй ай-кью!
Re: аналогия с Wikipedia
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 26.09.05 03:41
Оценка: 20 (2)
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Хотелось бы репозиторий кода, основанный на принципах Wikipedia.

ЗХ>А конкретно, на важнейшем ее принципе: любой кусочек информации может править любой человек.
ЗХ>Мне кажется, что это дало бы (по аналогии с той же Wikipedia) итеративно улучшаемые (в пределе — идеальные) самостоятельные тематические кусочки кода.

Посмотри вот это:
http://ru.livecode.org/index.php/Заглавная_Страница
— человеком двигали вполне благие намерения. И движок там от Википедии (Медиавики). А получилось черти что. А все почему? Потому что (i) не надо распыляться и пытаться охватить все на свете и (ii) очень важна грамотная классификация/категоризация.
Re: Codepedia :)
От: Joker6413  
Дата: 26.09.05 08:32
Оценка: 7 (2)
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Задела меня за живое фраза "И тогда создание поистине всемирных библиотек кода на этом языке можно сделать по принципу Wikipedia."
Автор: iZEN
Дата: 25.09.05


Оно конечно не Wikipedia но кода много:

здесь
Re[8]: Codepedia :)
От: anonymous Россия http://denis.ibaev.name/
Дата: 26.09.05 08:49
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>>>Структуризации — нет,

ЗХ>>Ну, вообще-то категории там есть.
DG>категории — это лишь один из инструментов структуризации

а какие нужны еще?...

DG>>>поддержки нескольких точек зрения — нет,

ЗХ>>Мммм... Мне кажется, для энциклопедии правильный подход — именно используемый в Википедии NPOV (Neutral Point Of View)
DG>В идеале — да.
DG>но на горячие (на flame-овые) темы — обычно NPOV не бывает.

горячие головы можно остудить баном или запретом редактирования статьи...
Re[3]: аналогия с Wikipedia
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 26.09.05 10:54
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>В теории — те, которые соответствуют (1) — лаконичные решения повседневных задач. Сверхцель — чтобы, как только у меня возникает некая "типовая" задача (типовая == с большой вероятностью, эту задачу уже неоднократно решало великое множество программистов) наиболее естественной мыслью было бы — пойду возьму codepedia.


ЗХ>На практике... Т.е. чтобы примеры привести... Вообще, надо в rsdn.src покопаться но в общем:

ЗХ>* простые абстракции — математические, баз данных, регекспов, и т.д. и т.п.

Имхо, такие вещи должны входить в стандартную библиотеку языка. В Java, .Net, Python, Perl, Ruby так и есть. Это просто исторически так сложилось, что у C/C++ со стандартными библиотеками беда.

ЗХ>* платформ-специфик вещи: скажем, простенький код для работы с tray icon или hook...

ЗХ>...ммм... чего-то такое.

ЗХ>(Вообще говоря, часть буста стоило бы раздербанить на такие вот "сниппеты" — это просто другой подход, не "большая библиотека, в которой есть все — стоит только заинклудить", а "место где можно взять типовой код решения такой задачи, вылизанный до белизны")


По поводу раздербанивания boost-а -- это

А вот Ruby community себе подобные вещи сделала: RubyGems и RAA — Ruby Application Archive. Правда поиска по исходникам там нет, но вот идея у RubyGems здравая -- можно загрузить тот пакет, который тебе нужен. При этом RubyGems проверит и, при необходимости загрузит, нужные зависимости, автоматически запустит unit-тесты, сгенерирует RDoc-документацию (аналог Doxygen и JavaDoc).
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Codepedia :)
От: buriy Россия http://www.buriy.com/
Дата: 26.09.05 11:39
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали.

Давайте посмотрим на уже имеющиеся реализации, в меру собственных возможностей.

Например, я пользуюсь периодически ActiveState Python CookBook.
http://aspn.activestate.com/ASPN/Cookbook/

В связи с этим прокомментирую ваши мысли:

ЗХ>Единица хранения

ЗХ>Один snippet — это некий набор единиц языка (классов, функций), не зависящий от сторонних библиотек (кроме стандартной библиотеки данного языка), служащий однозначно формулируемой цели, и могущий быть использованным "как есть", без переделки.
IMO, Snippet не должен быть больше одной функции по размерам. Ни в коем случае не C++-проект, как на CodeProject!!!
Все, что больше одной функции — называется "библиотекой" и должно удовлетворять всем требованиям библиотеки.

ЗХ>Поскольку однозначного имени (по которому любой программист его найдет) snippet'у дать нельзя, ему дается краткое описание и набор тегов (соответственно, поиск сниппета на сайте — отбор по тегам).

IMO, описание должен исправлять только модератор, набор тегов — любой желающий (с постмодерацией).

ЗХ>Редактирование snippets

ЗХ>Редактировать сниппет может кто угодно.
IMO, редактировать сниппет должен создатель (прочитав комментарии) или модератор, или доброволец, при необходимости.
ЗХ>Для редактирования сниппета сайт должен предоставлять полноценный редактор кода (подсветка, автоотступ, сворачивание веток, autocomplete стандартной библиотеки).
Последнее требование сводит на нет возможность реализации в обозримом будущем всей затеи.
Возможно, лучше было бы автовыравнивание по выбранным стандартам кодирования при отправлении кода.
ЗХ>Необходимо ввести сниппет и юнит-тест на него (код выполняющий проверку корректности сниппета и одновременно — демонстрацию его возможностей).
IMO, юнит-тесты в случае "snippet порядка размера функции" не нужны вообще — ведь любой может откомментировать snippet и указать его ошибки и на что исправить этот код.
ЗХ>После этого сервер выполняет проверку.
На хостинге компиляторы размещать?
ЗХ>Проверяется: синтаксис и компилируемость кода, стиль (на сервере существуют некоторые правила, типа длины имен переменных и прочая); выполняется юнит-тест. Результатом выполнения юнит-теста является список тестов, которые код прошел/не прошел, а так же (в идеале) покрытие кода тестами (какие классы/функции в выполнении юнит-теста задействованы не были).
ЗХ>Код, не прошедший проверку на компилируемость, запостить нельзя. Код, не прошедший критические тесты, запостить нельзя. Код, не прошедший некритические тесты, запостить можно, в каталоге он будет показан как "сниппет такой-то — проходит 80% тестов".
Это был план развития сайта на следующие 10 лет
А вот из того, что можно быстро осуществить — это рейтингование snippets и возможность рейтингования комментариев как "важных".
IMO, комментарии обязательны и желательно должны быть древовидными. Из-за линейности комментариев и присутствующего там флейма и оффтопика потом ничего не разобрать.
ЗХ>Поиск и выбор snippets
ЗХ>Поиск идет по тегам и просто через поисковую систему. [далее пропущен тяжелоосуществимый бред]
IMO, хороший поиск и индексирование сайта поисковыми системами обязательно.
Также обязательным является кластеризация. Она не обязательно должна быть навороченной, главное, чтобы она стремилась к тому, что один snippet попадал в одну категорию. Так, для начала разделов 5 будет вполне достаточно.
В этом плане юзабилити koders.com и ru.livecode.org очень низкое, что и определяет степень их использования разработчиками. Сайт, который будет активным, должен быть открытым и для поисковиков.
Обязательно должна быть возможность прийти на сайт из интернета, набрав в поисковике нужный запрос, и попасть сразу на страницу примера. Пример: поищите в google "php open file" — наглядный пример, как все должно работать.
Еще пример. RSDN подкачал. Пример: поищите "rsdn getdllversion" или "site:www.rsdn.ru getdllversion" — и где тут сообщения могучего форума RSDN по данной теме? Более того, отмазка "ищите в поиске на rsdn" оказывается неконструктивной. Я пользуюсь каждый день как минимум десятком сайтов. Стоит ли мне запоминать, в каком месте на каждом сайте расположен запрос поиска, и потом мучиться с его убогой, или просто особенной сортировкой в результатах выдачи? (Честно говоря, именно из-за плохого поиска и появляются сообщения, которые уже на 20 раз обсуждались — человеку проще задать вопрос, чем найти его)

ЗХ>Административное устройство

ЗХ>По всей видимости, кроме модераторов (чья функция — как всегда — пресекать хулиганство и вандализм) нужны maintainers (добровольцы-энтузиасты), которые станут более-менее регулярно просматривать новые и измененные сниппеты, выбрасывать никому-не-нужные, рефакторить плохо-написанные и т.п.
IMO, maintainers — это и есть модераторы, а твои модераторы — это администраторы...

ЗХ>На закуску — проблемы реализации

ЗХ>Крутейшая среда с рефакторингом и веб-интерфейсом, серверная, выдерживающая дикие нагрузки — это не шубу в трусы заправить. Других проблем не видать Возможно, нагрузку можно каким-то образом перенести на клиента (скачивается программа, в которую уже встроен редактор; каким-то образом полагаться на установленный у клиента компилятор, и т.п.). JetBrains, ау?!
Это был самый настоящий бред. Советую поискать бритву Оккама, она должна у вас быть где-то поблизости.
IMO, форма с подсветкой кода и автовыравниванием после нажатия кнопки "preview" будет смотреться замечательно.
А легкий submit без обязательной постмодерации (но только для зарегистрированных пользователей!) — необходимое условие для быстрого пополнения сайта.
/bur
Re[3]: аналогия с Wikipedia
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.09.05 13:32
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>1. единица информации — не библиотека, а кусочек кода, который можно охватить взглядом.

ЗХ>2. сниппеты может править кто угодно в любое время.

Простой вопрос — а чем это отличается от VCS?
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[4]: аналогия с Wikipedia
От: Зверёк Харьковский  
Дата: 26.09.05 14:15
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ЗХ>>1. единица информации — не библиотека, а кусочек кода, который можно охватить взглядом.

ЗХ>>2. сниппеты может править кто угодно в любое время.

AVK>Простой вопрос — а чем это отличается от VCS?


Ну, если по всему этому топику непонятно — то я не знаю как объяснить.
FAQ — це мiй ай-кью!
Re[5]: аналогия с Wikipedia
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.09.05 14:27
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>>>1. единица информации — не библиотека, а кусочек кода, который можно охватить взглядом.

ЗХ>>>2. сниппеты может править кто угодно в любое время.

AVK>>Простой вопрос — а чем это отличается от VCS?


ЗХ>Ну, если по всему этому топику непонятно — то я не знаю как объяснить.


Нет, непонятно. Все, о чем ты говоришь, реализуется нормальной VCS + стандартом на метеданные кусков кода + возможно специализированным клиентским софтом. По любому удобнее wiki.
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[6]: аналогия с Wikipedia
От: Зверёк Харьковский  
Дата: 26.09.05 14:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>....По любому удобнее wiki.


Ты вообще отвергаешь идею вики? (не для редактирования кода, а в целом)
FAQ — це мiй ай-кью!
Re[7]: аналогия с Wikipedia
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.09.05 15:04
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

AVK>>....По любому удобнее wiki.


ЗХ>Ты вообще отвергаешь идею вики? (не для редактирования кода, а в целом)


Идеологически разницы между wiki и VCS + публикатор нет. Однако VCS обеспечивает куда больше сервиса, да и редактировать на локальной машине проще.
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[8]: аналогия с Wikipedia
От: Зверёк Харьковский  
Дата: 26.09.05 15:13
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>....По любому удобнее wiki.


ЗХ>>Ты вообще отвергаешь идею вики? (не для редактирования кода, а в целом)


AVK>Идеологически разницы между wiki и VCS + публикатор нет. Однако VCS обеспечивает куда больше сервиса, да и редактировать на локальной машине проще.


Мммм... Разница, имхо, все же есть.
Юз-кейс vcs: засасываем на локальную машину весь проект, работаем с ним, закидываем на сервер обновления.
Юз-кейс wiki: бродим по содержимому сервера, рассматриваем его, если что-то "не понравилось" — выполняем in-place редактирование.
FAQ — це мiй ай-кью!
Re[9]: аналогия с Wikipedia
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.09.05 15:21
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Мммм... Разница, имхо, все же есть.

ЗХ>Юз-кейс vcs: засасываем на локальную машину весь проект, работаем с ним, закидываем на сервер обновления.

1) Совсем не обязательно весь.
2) Для просмотра вобще не надо ничего явно засасывать (см. например RepoBrowser в Subversion, или то, что кажет SVN-сервер по http-протоколу, есои зайти браузером)

ЗХ>Юз-кейс wiki: бродим по содержимому сервера, рассматриваем его, если что-то "не понравилось" — выполняем in-place редактирование.


Все то же можно сделать и в случае VCS, вопрос в инструменте. Браузер в любом случае очень плохо подходит для редактирования кода (его как минимум один раз нужно скомпилировать и запустить).
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[10]: аналогия с Wikipedia
От: Зверёк Харьковский  
Дата: 26.09.05 15:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ЗХ>>Юз-кейс wiki: бродим по содержимому сервера, рассматриваем его, если что-то "не понравилось" — выполняем in-place редактирование.


AVK>Все то же можно сделать и в случае VCS, вопрос в инструменте.


Тогда это будет wiki, реализованная поверх VCS Насколько я помню, такие штуки где-то видел

AVK>Браузер в любом случае очень плохо подходит для редактирования кода (его как минимум один раз нужно скомпилировать и запустить).


Если внимательно почитать исходное сообщение, там это учтено.
FAQ — це мiй ай-кью!
Re[9]: Codepedia :)
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 26.09.05 18:42
Оценка:
DG>>>>Структуризации — нет,
ЗХ>>>Ну, вообще-то категории там есть.
DG>>категории — это лишь один из инструментов структуризации

A>а какие нужны еще?...


Отношение частное — общее,
отношение целое — части,
порядковые отношения,
и т.д.


DG>>>>поддержки нескольких точек зрения — нет,

ЗХ>>>Мммм... Мне кажется, для энциклопедии правильный подход — именно используемый в Википедии NPOV (Neutral Point Of View)
DG>>В идеале — да.
DG>>но на горячие (на flame-овые) темы — обычно NPOV не бывает.

A>горячие головы можно остудить баном или запретом редактирования статьи...


дык проблема не в самом flame-е, а в том, что NPOV на данный момент просто нет, т.к. проверить, чья точка зрения правильнее — можно будет проверить когда-то потом.


ps
вот, что, например, писать про астрологию?
что это лженаука, или что это наука?
а ведь что не напиши, другие обидяться.
Re[10]: Codepedia :)
От: Зверёк Харьковский  
Дата: 26.09.05 19:15
Оценка:
Здравствуйте, DarkGray, Вы писали:


DG>>>>>Структуризации — нет,

ЗХ>>>>Ну, вообще-то категории там есть.
DG>>>категории — это лишь один из инструментов структуризации

A>>а какие нужны еще?...


DG>Отношение частное — общее,

DG>отношение целое — части,
DG>порядковые отношения,
DG>и т.д.

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

DG>дык проблема не в самом flame-е, а в том, что NPOV на данный момент просто нет, т.к. проверить, чья точка зрения правильнее — можно будет проверить когда-то потом.


DG>ps

DG>вот, что, например, писать про астрологию?
DG>что это лженаука, или что это наука?
DG>а ведь что не напиши, другие обидяться.

Загляни сюда: http://en.wikipedia.org/wiki/Astrology
А потом сюда (т.к. у меня сложилось впечатление, что о концепции NPOV ты судишь по названию): http://en.wikipedia.org/wiki/NPOV
FAQ — це мiй ай-кью!
Re[2]: аналогия с Wikipedia
От: Anton Batenev Россия https://github.com/abbat
Дата: 27.09.05 02:08
Оценка:
Здравствуйте, nzeemin, Вы писали:

N>Посмотри вот это:

N>http://ru.livecode.org/index.php/Заглавная_Страница
N>- человеком двигали вполне благие намерения. И движок там от Википедии (Медиавики). А получилось черти что. А все почему? Потому что (i) не надо распыляться и пытаться охватить все на свете и (ii) очень важна грамотная классификация/категоризация.

Хм... а что именно там "черти что"? На первый беглый взгляд достаточно интересный проектик и почти то, что Зверек описывал.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[2]: Codepedia :)
От: c-smile Канада http://terrainformatica.com
Дата: 27.09.05 02:59
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Оно конечно не Wikipedia но кода много:


J>здесь


Интересно на самом деле.
На слово base64 вывалилось много чего. Надо бы как-то
ограничивать это дело.

имхо снипеты это и классы должны быть по идее.
Re[11]: аналогия с Wikipedia
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.09.05 06:06
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

AVK>>Все то же можно сделать и в случае VCS, вопрос в инструменте.


ЗХ>Тогда это будет wiki, реализованная поверх VCS


Неа. VCS намного круче чем wiki. Это вики такая куцая м примитивная VCS.

AVK>>Браузер в любом случае очень плохо подходит для редактирования кода (его как минимум один раз нужно скомпилировать и запустить).


ЗХ>Если внимательно почитать исходное сообщение, там это учтено.


Ну а тогда никакого смысла именно в вики нет.
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[10]: Codepedia :)
От: anonymous Россия http://denis.ibaev.name/
Дата: 27.09.05 08:25
Оценка:
Здравствуйте, DarkGray, Вы писали:

A>>а какие нужны еще?...

DG>Отношение частное — общее,

страница типа "страницы ссылающиеся на эту страницу"... не совсем то, но...

DG>отношение целое — части,


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

DG>порядковые отношения,

DG>и т.д.

DG>дык проблема не в самом flame-е, а в том, что NPOV на данный момент просто нет, т.к. проверить, чья точка зрения правильнее — можно будет проверить когда-то потом.

DG>ps
DG>вот, что, например, писать про астрологию?
DG>что это лженаука, или что это наука?
DG>а ведь что не напиши, другие обидяться.

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