вы так говорите, будто работающий код хуже неработающего. что-то я не понял к чему ваше замечание.
но признаю, с «не могу смотреть» я, пожалуй, перегнул, — напротив, мне просто бальзам на душу, когда кто-то начинает устраивать замыкания внутри цикла, за что получает трудно уловимый баг, — тогда я смотрю на это высунув язык от радости и приговариваю: «я же говорил, что не надо использовать анонимные функции где попало».
не могу смотреть как юзается переменная «file» в первой версии кода, — какое по вашему у неё будет значение во время выполнения fs.readFile(file, ...)? остальные версии вообще не понял, должно быть старею ))
не пойму почему так не написать:
function isNotError(err) {
if(!err)
return true;
console.error(err);
return false;
}
function onReadDir(err, files) {
if(isNotError(err)) {
for (var i = 0; i < files.length; i++)
readFile(path.join(__dirname, files[i]));
}
}
function readFile(file) {
function onStat(err, stats) {
if(isNotError(err) && stats.isFile())
fs.readFile(file, onRead);
}
function onRead(err, buffer) {
if(isNotError(err))
buffers.push(buffer);
}
fs.stat(file, onStat);
}
fs.readdir(__dirname, onReadDir);
Доподлинно известно, что люди могут быть враждебны чужакам. Если обнаружатся инопланетяне, вероятно, люди полетят к ним, чтобы поработить и захватить их планету.
Интересный конкурс! Спасибо и авторам и участникам, комментарии буду, наверное, неделю читать. Тоже решил поучаствовать. Так как я работал с распознаванием текста, для создания универсальной системы автодополнения текста, в курсе об устройстве спам фильтров и как создаются дорвеи и что противостоит им, — мне показалось, что я с лёгкостью решу эту задачу. И я решил её, — используя знакомые мне сети Маркова, в моем решении можно указать какую точность вы хотите получить, — вплоть до 100%, — но, увы, сжать решение до такого компактного размера (в 20 раз), как я не мудрил — не получилось. Так что отправлять, конечно, не стал.
Я хотел бы ответить на комментарий @hellosandrik, — это всё же задача обучения, — может ей быть! Самообучающийся алгоритм способен распределить грамматические и синтаксические правила языка, — просто оценивая вероятность появления буквосочетаний. — И это не очень сложно для создания, но трудно для анализа и весьма ресурсоемко может оказаться, — вероятностные сети охочи до памяти и процессора. В естественном языке есть правила и исключения, этому нас даже в школе учат, — так вот правила — статистически классифицируются, а вот исключения нет. Мои сети при размерах образцов в три символа прекрасно отбрасываю всякий шум, но псевдослова начинают хорошо определять при размерах сэмпла в 4 символа, а это значит что дата-файл уже будет не менее пол мегабайта, при размере сэмпла в пять символов достигается оптимум, сеть полностью распределят правила языка (и это коррелирует с длинной корней, суффиксов и префиксов в словах). Я проверял следующим образом — давал программе половину словаря, но результат классификации не менялся, давал ей четверть словаря, и т.д. наступает момент когда обучающей выборки недостаточно, чтобы определить вероятностные законы языка, — это тонкий порог, определим лишь эмпирически.
Это основной принцип. Что бы ни программировал программист, все его задачи можно свести к программированию реакции системы на действия пользователя.
Согласен. Но стоит заменить «пользователя» на внешнюю систему. И получится, что создается система, реагирующая на внешние события.
А на её события тоже кто-то реагирует… Хм, программа не одинока в этом мрачном мире!
Ещё можно к генератору лопасти приделать и пускай ветер крутит!
А вообще пост на злобу дня, спасибо, как раз сегодня в Крыму света не было полдня, начал подумывать о техническом решении проблемы.
Можно попробовать вершинный шейдер написать, чтобы делал триангуляцию специально подготовленных полигонов, точно как упоминаемая ниже разработка NVideo, суть которой сводится к триангуляции кривых безье на GPU и заливка получившихся фигур градиентами и сплошными цветами, — ну а что еще надо!?
Проблема конечно отраслевая, не то чтобы техническая…
Эти блоки слабые, потребление средней видеокарты почти как у всей остальной системы, в районе 150-200 Ватт. С другой стороны, извлеченный из корпуса блок питания имеет габариты 145x105x50mm. Высота корпуса упирается в высоту видеокарты.
Этот бенчмарк не прогревает cpu, и вообще синтетические тесты скучные. Гораздо интересней, например, рендеринг анимации в течении 80 часов на mentalray.
Тоже думаю собрать нечто, такое например
Основные особенности:
Мощная (но компактная) видеокарта
Охлаждение процессора, матери и блока питания одним мощным вентилятором
Стандартный 400Вт (но модифицированный) блок питания
Размеры 20х20х12 см
Пока собрал стенд — на чЁрной изоленте :)
И мне уже нравится, потому что тихий, мощный и дешевый, работает стабильно, круглосуточно, воздух выдувает холодный
но признаю, с «не могу смотреть» я, пожалуй, перегнул, — напротив, мне просто бальзам на душу, когда кто-то начинает устраивать замыкания внутри цикла, за что получает трудно уловимый баг, — тогда я смотрю на это высунув язык от радости и приговариваю: «я же говорил, что не надо использовать анонимные функции где попало».
не пойму почему так не написать:
https://gitlab.com/richtrr/qualifierWords.git
Я хотел бы ответить на комментарий @hellosandrik, — это всё же задача обучения, — может ей быть! Самообучающийся алгоритм способен распределить грамматические и синтаксические правила языка, — просто оценивая вероятность появления буквосочетаний. — И это не очень сложно для создания, но трудно для анализа и весьма ресурсоемко может оказаться, — вероятностные сети охочи до памяти и процессора. В естественном языке есть правила и исключения, этому нас даже в школе учат, — так вот правила — статистически классифицируются, а вот исключения нет. Мои сети при размерах образцов в три символа прекрасно отбрасываю всякий шум, но псевдослова начинают хорошо определять при размерах сэмпла в 4 символа, а это значит что дата-файл уже будет не менее пол мегабайта, при размере сэмпла в пять символов достигается оптимум, сеть полностью распределят правила языка (и это коррелирует с длинной корней, суффиксов и префиксов в словах). Я проверял следующим образом — давал программе половину словаря, но результат классификации не менялся, давал ей четверть словаря, и т.д. наступает момент когда обучающей выборки недостаточно, чтобы определить вероятностные законы языка, — это тонкий порог, определим лишь эмпирически.
Согласен. Но стоит заменить «пользователя» на внешнюю систему. И получится, что создается система, реагирующая на внешние события.
А на её события тоже кто-то реагирует… Хм, программа не одинока в этом мрачном мире!
Хм… Ваш КО
А вообще пост на злобу дня, спасибо, как раз сегодня в Крыму света не было полдня, начал подумывать о техническом решении проблемы.
Проблема конечно отраслевая, не то чтобы техническая…
artman.fi/2009/06/as3-sorting-algorithm-faster-than-native-sorting/
Работает всегда быстрее, на частично отсортированных данных быстрее в разы
Попробую ваш вариант
1000 * 75000 != 75000000 ?
Основные особенности:
Мощная (но компактная) видеокарта
Охлаждение процессора, матери и блока питания одним мощным вентилятором
Стандартный 400Вт (но модифицированный) блок питания
Размеры 20х20х12 см
Пока собрал стенд — на чЁрной изоленте :)
И мне уже нравится, потому что тихий, мощный и дешевый, работает стабильно, круглосуточно, воздух выдувает холодный