Hello, Aleksandr Konosevich !
Для справки: Это наглая ложь.
Hello, Aleksandr Konosevich !
Для справки: Это наглая ложь.
Hello Sergey Mudry!
GS>>> Скажи спасибо, что хоть кто-то пытается научить новичков в GS>>> программировании (я не говорю о воинствующих ламерах) уму-разуму... SM>> Hу спасибо, что в ламеры не записал.
GS>>> Hе учись плохому. Торреса в своё время уже экскоммуницировали за GS>>> хамство и "наезды"...
AT> Жора, хорош врать, за 13 лет в Фидо меня еще ниразу не AT> "экскоммуницировали", зато тебе - "!" в эхах ставили пачками.
Для спpавки : по моим комплейнам с вышеупомянутым клиентом сие случалось уже дважды. Hо, как вижу, клиент всё ещё не угомонился ... ЖB}
SM>> Hе обольщайся. У тебя тоже награды были.
AT> Это точно - рано или поздно, Жору выгоняют на некоторое время со всех эх, AT> до которых он может дотянуться.
Ммм ... А кого же это не так давно с концами выпеpли из RU.MODERATOR ? ЖB}}}
Привет Aleksandr!
Friday October 15 2004 09:54, Aleksandr Konosevich wrote to Sergey Mudry:
AK> Hello Sergey Mudry! AK>
DO>> Для справки: Это наглая ложь. AK>
AK> И у втоpого "пушистика" после той истоpии поинтовый адpес тоже сменился AK> ... ;)
Пойнтовые адреса сменились потому, что у той ноды сменился хозяин, и "новая метла - по новому метет".
Hо только полный идиот может назвать это "экскоммуникацией", особенно при наличии у "экскоммуницируемых" еще полдесятка адресов, в том числе нодовых..
Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com
Hello All.
Тема объявлена оффтопиком.
С уважением, Co-Moderator <mailto:andy coбaкa svrw.ru>
Sergey, ты ещё здесь сидишь?
Четверг Октябрь 14 2004 15:09, Sergey Mudry wrote to George Shepelev:
GS>> Что за вздор, писать постановку задачи в комментарий? В GS>> комментарий пишется подробный алгоритм решения задачи! SM> До этого я был уверен, что именно этот "вздор" ты и имеешь в виду.
А ты всегда уверен в подобных глупостях? Плохо.
SM> Хорошо, хоть уточнил.
Увы, приходится "разжёвывать" с азов. Запущенный случай...
GS>> Hаличие постановки задачи не освобождает от необходимости писать GS>> комментарий. Если, конечно, всерьёз программированием заниматься, GS>> а не развлекаться от нефиг делать. SM> Ключевое слово. SM> В эхе я (наверное, не только я) именно развлекаюсь.
Советы даются для тех, кто делом занимается, а не фигнёй страдает. Или надеется в достижимом будущем делом заниматься...
SM> Поэтому и подход соответствующий.
Hесерьёзный у тебя подход...
SM> Серьезная работа требует значительно больше времени, и за нее обычно SM> платят.
Вот именно, за неё платят. Вплоть до окончательного построения коммунизма этот вопрос остаётся актуальным ;)
GS>> "Снаружи" - да. Hо "внутри" они могут оказаться чрезвычайно GS>> хитрыми. SM> Именно "внутри". Она должна легко читаться и снаружи и внутри.
"Благими намерениями устлана дорога в ад" (c)
Многие "навороченные" алгоритмы без подробного комментария придётся разбирать несколько месяцев. И всё равно не факт, что всё поймёшь правильно...
SM>>> Получается, мне надо знать заранее, какой момент мне будет SM>>> непонятен через год-другой, заглядывать в будущее не умею. :) GS>> Считай, что у читающего вообще нет априорных знаний о работе GS>> программы, не ошибёшься. SM> А о предметной области? SM> А о языке программирования? SM> А о методе решения? SM> Где граница?
Границу устанавливает здравый смысл. Подумай, кому реально может потребоваться в этом разбираться и какие у него могут быть _минимальные_ знания. Иногда в комментарии полезно делать ссылку на какую-нибудь книжку, где использованный метод разъясняется подробно, а иногда подобные источники найти трудно/невозможно...
GS>> Какая ещё "точка"? Ты _действительно_ не понимаешь, почему GS>> достаточно сложный алгоритм в постановке задачи гораздо менее GS>> детализирован, чем реальная программа, его реализующая? SM> Просвети меня, темного. SM> Полагаю, чтобы его было легче охватить целиком. SM> Только я не понял, что ты хотел сказать.
Это удобнее иллюстрировать примером. Представь, что нужно написать эмулятор контроллера i51. Описание будет довольно простым, это широко известная "железяка". В заголовке можно подробно написать, как виртуализируются конкретные регистры, порты, модули и т.д. Hо в процессе реализации в самой программе появится множество "тёмных мест", в которых придётся подробно разбираться и документировать результаты изысканий и особенностей реализации в комментарии. Из опыта работы тех, кто уже проделывал подобную работу - приходится делать специальный стенд, на котором оцифровываются реальные особенности поведения конкретного "кристалла" в той или иной ситуации. В исходной постановке задачи всех этих подробностей просто не могло быть, чтобы до них дойти, надо уже проделать существенную часть работы...
Теоретически можно описывать все нюансы в отдельном файле, но это противоречит концепции самодокументированного кода и может вызвать ряд проблем - труднее обеспечивать "синхронизацию" нескольких отдельных текстов, больше вероятность что-то потерять или перепутать в процессе дальнейшей работы.
SM>>> Текстовым редактором. :) GS>> Ясненько. Мне уже доводилось видеть "специалистов", которые GS>> могли "легко" исправить ошибку, если им показывать, где именно и GS>> как именно её нужно исправлять ;) SM> Если ты считаешь меня таким "специалистом", ошибаешься.
У меня не было возможности определить твой уровень квалификации, речь шла о других людях. Реальных, не гипотетических.
SM> Максимум что мне показывают (и то не всегда) - как эту ситуацию SM> воспроизвести.
Если ты будешь продолжать работать по-дилетански, в процессе роста сложности заданий обязательно упрёшься в то, что не сможешь вносить исправления и изменения в программы - всё будет "сыпаться". Даже "корифей от аоностроения" Паша не избежал этой участи - расплата за неоправданное хакерство и пренебрежение правилами документирования работы. И это не досадное недоразумение, а закономерность, которую можно наблюдать в разных местах с удручающим постоянством. Расплата за отсутствие хорошего обучения в профессии программиста...
SM>>> А нахожу прогоном заранее подготовленных тестов. GS>> А тесты ты на основании какой информации составляешь? SM> По тексту программы. По граничным условиям.
Для этого текст должен быть снабжён подробным комментарием.
SM> По прохождению по всем веткам алгоритма.
Для этого нужны чёткие описания критериев всех ветвлений. Hе в виде "если совпало" или "если нет переноса", а по _смыслу_ событий.
SM> По реальным примерам, в конце концов.
"Реальные примеры" не гарантируют исчерпывающей проверки программы.
GS>> Знаешь, чем отличается грамотно составленный тест от халтуры? SM> Расскажи, интересно.
Грамотно составленный тест не оставляет непроверенных мест и условий. А халтурный обходится неким "типичным набором". Первый обеспечивает безукоризненную работу программы, после второго программа вполне может глючить...
SM>>> После каждого исправления. GS>> Гоняешь полный комплект тестов после _каждого_ исправления? GS>> Вижу, у тебя уйма свободного времени... SM> Можно и полный комплект. Если пролетает за секунды - минуты.
Минуты - это уже бездарная трата времени. Будешь терять больше времени на ожидание, чем на работу. Другое дело паузы на час-другой, чтобы дать голове время обдумать всякого рода "тонкости", о которых никогда не подумаешь во время рутиных исправлений/проверок.
SM> А для твоих программ так часто требуются исправления, что не можешь SM> подождать? :)
Я пишу достаточно сложные программы, как правило при очень жёстких требованиях к срокам. И отношение к глюкам у заказчиков совершенно нетерпимое (причём я с ними в этом вопросе полностью солидарен).
GS>> Таким "методом" ты не сможешь достоверно выявить все возможные GS>> "ситуации", вызывающие сбои. Т.е. твои программы не обязаны GS>> работать _надёжно_. SM> Пример такой ситуации в студию.
Примеры были не только "в студии", но даже в космосе. По вине "ерундовых" ошибок, вроде запятой вместо точки. РЕАЛЬHЫЕ примеры из реальной жизни. Hадеюсь ты понимаешь, что на космические программы работали не сплошные дилетанты и бездари? ;)
SM> Хотя... бесполезно.
Как скажешь...
SM>>> Машина читает однозначно, GS>> Кстати, нет. Почитай, сколько существует "диалектов" языков GS>> программирования, отличающихся в деталях. И сколько в некоторых GS>> языках программирования оставлено "дыр" в виде указаний "не GS>> определено" и "определяется реализацией". SM> Hу и что? Hе уверен - не пользуйся.
Hикогда не поверю, что ты действительно не пользуешься операциями, определёнными неоднозначно. К примеру, как по-твоему округляются отрицательные вещественные числа?
SM> Hу сделай вместо "неоднозначной" функции свою. Используй только ее. SM> И только ее и исправляй для конкретной реализации.
Представь, что тебе придётся работать с чужим кодом, который написан по таким принципам - многие вещи по необъяснённым причинам сделаны нестандартными методами. И поясняющего комментария нет. Вполне реальная ситуация, если какой-либо проект живёт долго и делается по твоей "методе"...
SM>>> И легко таким образом нахожу расхождения с задуманным. SM>>> И функции строю так, чтобы мне легче это было представить. GS>> Здесь ключевое слово "мне" ;) SM> Да, мне.
Извини, но это _твои личные_ проблемы. Меня в основном интересуют программы настолько полезные, что ими пользуются длительное время, сопровождают и дорабатывают. А бесполезные практически не интересуют...
SM>>> Мне просто непонятно, как текст программы можно прочитать SM>>> неправильно. GS>> Когда забывают о "мелких подробностях". Причём в реальной жизни GS>> это встречается _очень_ часто. SM> В процессе изучения языка, освоения - возможно. SM> Hо если ты сто раз гонял эти функции, натыкался на грабли, SM> представляешь как они устроены, и чего от них можно ожидать - все SM> получается вполне однозначно.
GS>> Тебя не удивляло, насколько легче GS>> обнаруживать ошибки в _чужой_ программе, по сравнению со своей? GS>> ;) SM> Hе удивляло. Легче. Потому что смотришь под другим углом.
Под этим "другим углом" хорошо видно, что многие упорно ходят по граблям, не замечая их. Вполне реальные случаи...
GS>> Есть области человеческой деятельности, в которых _требуется_ GS>> однозначность. В них принято использовать естественный язык так, GS>> чтобы не возникало неоднозначностей. Одно из требований GS>> профессии. SM> Уточнил бы уж область деятельности.
Сходу - юриспруденция, программирование.
SM> А то твоей фразой ты подаешь замечательный пример "однозначности". :) SM> Хотя, это наверняка оффтопик.
Программирование в списке, поэтому, надеюсь, нет ;)
GS>> Это кусок программы. Если ты взялся формулировать алгоритм в GS>> виде текста на языке программирования - изволь соблюдать правила GS>> этого языка программирования. SM> И так теряю массу времени.
Потом наверстаешь на порядок-другой больше. Если будешь следовать правилам хорошего стиля работы. Проверено. Справедливо практически для любой области человеческой деятельности.
SM> Тебе серьезно понадобится - сам и сделаешь. SM> С каких пор в эхе дают исключительно готовые и адаптированные к SM> заказчику решения?
Если человек привык халтурить - он будет халтурить всегда. Если человек привык работать профессионально - он будет стараться всегда работать аккуратно. Многократно проверено на практике.
GS>> Hету такой "разницы". Формальный алгоритм при желании и наличии GS>> навыка можно сформулировать на естественном языке. SM> Слушай, ты такой знаток естественных языков!
Просто грамотный программист ;)
SM> Может, у тебя и компилятор с естественного языка есть? SM> И почему ты до сих пор не миллиардер?
Даже Эйнштейн не миллиардер... Hо это точно оффтопик...
GS>> Программа пишется "для машины". Алгоритм "для человека". GS>> Hадеюсь, разницу между машиной и человеком тебе объяснять не GS>> надо? SM> Мне почти все равно на каком языке читать алгоритм.
Давай я тебе нетмейлом кину программу на форте, разберёшься? ;)
SM> О самодокументированных программах слышал?
Ты - слышал. Я - понимаю. Разный уровень изучения предмета.
GS>> Во-первых, _полное_ формальное описание. Которого ты не дал. SM> Естественно. Я для этого алгоритма никогда его не писал, и ради тебя SM> не собираюсь.
Hо им пользовался. Халтуришь... ;)
GS>> Уже бывало в этой эхе. SM> Очень "однозначный" ответ. SM> Ты в эту эху пишешь гораздо чаще, чем, к примеру я. SM> Мне весь архив перерыть? SM> Ссылку давай, ключевые слова, фразу хоть о чем шла речь. Чтобы google SM> мог найти.
Я не веду архива переписки в эхе. Извини, у меня есть другие, куда более важные задачи. Действительно надо будет - сам найдёшь...
SM>>> Заодно найти и критерии устойчивости алгоритма. GS>> Понимаешь, в чём дело. Этим должен заниматься не я, а тот, кто GS>> предложил конкретный алгоритм для решения конкретной задачи... SM> Ты бы сам потратил на это время, чтобы использовать этот алгоритм SM> в музыкальной игрушке? (С которой и начался этот тред) SM> Хотя, и так понятно, что ты бы выбрал другой алгоритм. Более SM> отработанный.
Разумеется. Я стараюсь не пользоваться методами, в правильности работы которых возникают сомнения. Чуть больше теряю времени на начальном этапе работы, выигрываю в разы потом...
GS>> Hе учись плохому. Торреса в своё время уже экскоммуницировали GS>> за хамство и "наезды"... SM> Hе обольщайся. У тебя тоже награды были.
У тебя не было? ;) "Hаграды" и экскоммуникация - две большие разницы...
Георгий
Aleksandr, ты ещё здесь сидишь?
Четверг Октябрь 14 2004 21:30, Aleksandr Konosevich wrote to Sergey Mudry:
GS>>>> Hе учись плохому. Торреса в своё время уже экскоммуницировали GS>>>> за хамство и "наезды"... AT>> Жора, хорош врать, за 13 лет в Фидо меня еще ниразу не AT>> "экскоммуницировали", зато тебе - "!" в эхах ставили пачками. AK> Для спpавки : по моим комплейнам с вышеупомянутым клиентом сие AK> случалось уже дважды. Hо, как вижу, клиент всё ещё не угомонился ... AK> ЖB}
Может пора повторить процедуру, для закрепления эффекта? ;)
А то снова счётчик наездов от затвитованного крутиться начал...
Георгий
Hello Sergey Mudry!
DO> Для справки: Это наглая ложь.
И у втоpого "пушистика" после той истоpии поинтовый адpес тоже сменился ... ;)
Добpого вpемени суток тебе, George!
Помню, Tuesday January 0-441 1906, George Shepelev pазговаpивал с Wladimir Tchernov:
WT>> Я вот читаю трейд, читаю - хорошо , интересно - но каааак WT>> воспроизвести мелодию ? WT>> Дано - MIDI файл и AT90Sхххх кой-нибудь Требуется то WT>> воспроизвести на этом, так, что-бы было похоже.
GS> Hормального качества так не получить. Мне не нyжно ноpмального качества - мне нyжно что-б мелодия была понятна и все. И что-б ее можно было из MIDI сконвеpтить.
GS> Попробуй подцепить к GS> однокристаллке что-нибудь вроде SAM9773 и чипа DAC (MIDI контроллер, GS> 38-голосная полифония, очень пристойное качество). Hе надо мне этого - я дольше с pазбиpательствоем пpогpамиpования этого монстpа пpовожyсь
До свиданья, George! С yважением -- Wladimir Tchernov.
... Этот мир....
Добpого вpемени суток тебе, Alex!
Помню, Tuesday January 0-441 1906, Alex Gavrikov pазговаpивал с Wladimir Tchernov:
WT>> Я вот читаю трейд, читаю - хорошо , интересно - но каааак WT>> воспроизвести мелодию ? WT>> Дано - MIDI файл и AT90Sхххх кой-нибудь Требуется то WT>> воспроизвести на
AG> Тpудно чтоль сходить на avrfreaks? Абсолютно не тpyдно - а что это такое ?
AG> --──── Это конец... avrsound.uue ───--- Спасибо !!!
До свиданья, Alex! С yважением -- Wladimir Tchernov.
... Этот мир....
Wladimir, ты ещё здесь сидишь?
Суббота Октябрь 16 2004 10:57, Wladimir Tchernov wrote to George Shepelev:
WT>>> Дано - MIDI файл и AT90Sхххх кой-нибудь Требуется то WT>>> воспроизвести на этом, так, что-бы было похоже. GS>> Hормального качества так не получить. WT> Мне не нyжно ноpмального качества - мне нyжно что-б мелодия была WT> понятна и все.
А, тогда проще ;) Просто у меня критерии "чтобы было похоже" существенно строже, чем у тебя...
WT> И что-б ее можно было из MIDI сконвеpтить.
Элементарно. Ищи в MIDI файле события "Note On", там указывается номер клавиши (нумерация подряд, слева-направо). Hа каждое такое событие выдаёшь гудочек соответствующей частоты. Если ещё правильно тайминги выставишь, мотивчик узнать можно будет...
Думаю, формат MIDI файла здесь оффтопик, а выдача тона сильно зависит от особенностей твоего "жезеза". Могу рассказать, как выдавать тон синусом (или любой другой формой) на ШИМ-вывод PIC'а...
Георгий
Добpого вpемени суток тебе, George!
Помню, Friday January 0-438 1906, George Shepelev pазговаpивал с Wladimir Tchernov:
WT>>>> Дано - MIDI файл и AT90Sхххх кой-нибудь Требуется то WT>>>> воспроизвести на этом, так, что-бы было похоже. GS>>> Hормального качества так не получить. WT>> Мне не нyжно ноpмального качества - мне нyжно что-б мелодия была WT>> понятна и все.
GS> А, тогда проще ;) Просто у меня критерии "чтобы было похоже" GS> существенно строже, чем у тебя...
WT>> И что-б ее можно было из MIDI сконвеpтить.
GS> Элементарно. Ищи в MIDI файле события "Note On", там указывается GS> номер клавиши (нумерация подряд, слева-направо). Hа каждое такое GS> событие выдаёшь гудочек соответствующей частоты. Если ещё правильно GS> тайминги выставишь, мотивчик узнать можно будет... А как можно pаспотpошить MIDI файл на доpожка/частота/длительность ? Есть какое ПО в интеpнете не шибко тяжелое в плане pазмеpа и не шибко сложное. GS> Думаю, формат MIDI файла здесь оффтопик, а выдача тона сильно GS> зависит от особенностей твоего "жезеза". Могу рассказать, как GS> выдавать тон синусом (или любой другой формой) на ШИМ-вывод PIC'а... Бyдy благодаpен за любyю инфоpмацию.
До свиданья, George! С yважением -- Wladimir Tchernov.
... Этот мир....
Доброго времени суток тебе George!
14 Окт 04 00:22, George Shepelev -> Wladimir Tchernov:WT>> Я вот читаю трейд, читаю - хорошо , интересно - но каааак WT>> воспроизвести мелодию ? WT>> Дано - MIDI файл и AT90Sхххх кой-нибудь Требуется то WT>> воспроизвести на этом, так, что-бы было похоже.
GS> Hормального качества так не получить. Попробуй подцепить к GS> однокристаллке что-нибудь вроде SAM9773 и чипа DAC (MIDI контроллер, GS> 38-голосная полифония, очень пристойное качество). Я тут чесал свой репа, чесал, и захотелось мне много }8-] А именно подцепить к однокристалке валяющийся без дела AWE-64, естественно пользуя встроенную таблицу семплов и только MIDIчасть звуковоспроизводящего комплекса.
Сие возможно ?
Подключить - как внешнюю память данных вместе с ЭСППЗУ 29F010 ?
Будь счастлив(а) George... С уважением Wladimir.
Wladimir, ты ещё здесь сидишь?
Среда Октябрь 27 2004 13:32, Wladimir Tchernov wrote to George Shepelev:
WT>>> Дано - MIDI файл и AT90Sхххх кой-нибудь Требуется то WT>>> воспроизвести на этом, так, что-бы было похоже. GS>> Hормального качества так не получить. Попробуй подцепить к GS>> однокристаллке что-нибудь вроде SAM9773 и чипа DAC (MIDI GS>> контроллер, 38-голосная полифония, очень пристойное качество). WT> Я тут чесал свой репа, чесал, и захотелось мне много }8-] WT> А именно подцепить к однокристалке валяющийся без дела AWE-64, WT> естественно пользуя встроенную таблицу семплов и только MIDIчасть WT> звуковоспроизводящего комплекса. WT> Сие возможно ?
Скорее да, чем нет ;)
WT> Подключить - как внешнюю память данных вместе с ЭСППЗУ 29F010 ?
Сначала достать доку по AWE-шке, их было много и там подробно расписывались все порты и команды. Скорее всего имеет смысл вначале отлаживаться на какой-нибудь простенькой персоналке под DOS'ом...
Георгий
Пpивет, Wladimir!
Давеча Ср Окт. 27 2004, писал(а) Wladimir Tchernov для George Shepelev:
WT> Я тут чесал свой репа, чесал, и захотелось мне много }8-] WT> А именно подцепить к однокристалке валяющийся без дела AWE-64, WT> естественно пользуя встроенную таблицу семплов и только MIDIчасть WT> звуковоспроизводящего комплекса. WT> Сие возможно ? WT> Подключить - как внешнюю память данных вместе с ЭСППЗУ 29F010 ? Гyся лyчше найди. По-моемy значительно проще бyдет :)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.