Пишет вот что:
Здравствуйте, Алексей,
Ваш виджет добавлен в Каталог. Виджету назначены метки: образование, техника.
--
Екатерина Обносова
Модератор Яндекс.Виджетов
Это, как вы, любезный мой читатель, конечно, уже поняли, продолжение истории «
Калькулятор для Яндекса», в которой рассказывалось, что теперь любой желающий может установить мой замечательный
калькулятор прямо на главную страницу Яндекса, просто разок
кликнув по ссылке.
Но раньше эту ссылку можно было найти только у меня на сайте. Теперь она есть и в
каталоге виджетов, причем иногда даже на первой его странице:
Полистав этот каталог, любой разумный человек поймёт: среди представленной там кучи дурацких часиков, календарей, гороскопов да информеров новостей со всяких мало интересных сайтов единственное, что имеет хоть какой-то смысл поставить на главную страницу Яндекса — это
инженерный калькулятор.
P.S. Да, и хватит уже кидать в комменты ссылку на
WolframAlpha. Сам знаю, что это супермегакрутая штука. Но виджета для Яндекса у них нет. Вот.
Такой вот пост, что называется, не для всех. Ну, сами посудите: не у каждого нынче найдётся в хозяйстве знаменатель, да ещё такой, в который можно вот так запросто добавить единичку.
Для тех, кого по какой-то причине не отпугнул заголовок, отдельно сообщу, что на повестке дня — вопрос ранжирования неких условных элементов по результатам бинарных (равно как и любых дискретных) пользовательских оценок. Ну вот, наконец-то, все разбежались.
Так вот, на каждом первом веб-сайте полно всякой однотипной хрени. И на каждом полуторном для пользователей так или иначе реализована возможность эти хрени оценивать. Интерактив, знаете ли, в нашу вебдванольную эру весьма почитаем почтеннейшей публикой. По результатам всенародного (или частичнонародного, тут уж как вздумается творцам и самодержцам интернет-ресурсов) голосования строятся рейтинги. Скажем, «десять лучших хреней ударной пятилетки» и тэпэ.
Как построить рейтинг — зависит, конечно, прежде всего от того, как пользователям предлагается голосовать. Тут, по большому счёту, есть ровно два с половиной различных подхода.
Подход первый, академический. На пользователя взваливается титанический труд сделать мучительный выбор между, как правило, пятью оценками — как правило, от 1 до 5. Подход используется весьма широко. Вот, например, самый что ни на есть классический вариант реализован у нас в «
Перлах преподавателей»:
Как правило, «общая оценка» (параметр, по которому строится рейтинг) в этом случае представляет собой просто средний балл из числа полученных голосов. Тут-то и порылась собака. Ведь что при этом получается: некое гениальнейшее творение добрая сотня человек в едином порыве оценивает высшим баллом, а один, скажем, просто из чувства противоречия ставит кол. Средний балл в итоге — 4.96. Другое (быть может, самое что ни на есть посредственное) получает единственную шальную пятёрку, что ставит её на высшую ступень рейтинга. Плохо.
Чтобы избежать таких неприятностей, можно, конечно, «принимать в рейтинг» только элементы, получившие не менее скольких-то-там голосов, но по мне это чистое мракобесие. Вообще, программируя что-либо, следует по возможности избегать констант, взятых с потолка. А предел количества голосов в этом случае именно оттуда всегда и берётся.
Кстати, вот эта вот пяти-(десяти-, восьмидесятидевяти-, и вообще)балльность сама по себе тоже всегда берётся с того же самого потолка. И школьно-институтская традиционность её нисколько не оправдывает.
Подход второй, бинарный. Пользователю предлагается всю широчайшую гамму чувств от прочитанного/увиденного выразить одним из двух доступных способов: либо понравилось (+1), либо нет (-1). Используется столь же широко, как и первый вариант. Вот, скажем, в «
Цитатнике Рунета»:
В этом случае общей оценкой почти всегда является простая сумма всех полученных голосов. Как нетрудно догадаться, собака порылась и тут, причём точно такая же, но другая. 1000 голосов «за» и 950 голосов «против» (по всей видимости, что-то весьма посредственное) дают точно такой же результат, как и 50 голосов «за» и ни одного «против» (куда более перспективно). Что тоже далеко не айс.
Вскользь упомяну
Подход второй с половиной, унарный, когда пользователю предоставлена в безраздельное пользование одна-единственная кнопка — «понравилось», и ему остаётся лишь решить, нажимать её, или нет. Такие порядки царят, скажем на «
IT happens». Казалось бы, чем проще — тем лучше. Но нет, тут всё совсем плохо.
Во-первых, пользователь чувствует себя обделённым и глубоко несчастным, не имея возможности сказать своё веское «ацтой». Во-вторых, например, итоговая сумма «50» может получиться и у гениальнейшего творения, волею судеб просмотренного ровно 50-ю посетителями, и у некой посредственности, увиденной многими тысячами.
Последний рассмотренный случай не заслужил номера «3» по причине своей ущербности и хронической неизлечимости от недостатков. Первые же два лечатся. И не чем иным, как той самой единичкой в знаменателе, ради которой автор этих строк наколотил выше почти 4000 знаков.
Общая оценка = {Сумма голосов}/({Количество голосов} + 1)
Вот так просто и первый, и второй методы оценивания/ранжирования избавляются от пагубной зависимости от количества голосов.
Пока эта нехитрая идея у меня тут внедрена только в «
Шедеврах скибатронной живописи» (большая цифирь — это как раз та самая оценка, только для красивости ещё умноженная на 100).
При определении пятёрки моих лучших (по мнению читателей) записей пока используется простая сумма голосов, по которой далеко вперёд вырвалось весьма спорное со всех точек зрения, но шибко раскрученное «
Математическое порно». Но если взять на вооружение всё написанное выше, то лидерство перехватят куда более высокохудожественные «
Финита ля год» и «
Простудифилис и гриппер», а «порно» сдвинется аж на 29-ю позицию. Что зело любо моей поэтической натуре.
P.S. Вообще-то, я просто хотел написать о том, что уже практически помер от жары, и что уснуть нихрена не получается. Ну да ладно.
«Нельзя ли, дяденька Lexxus, поставить в комментах фильтр на матюки и прочие непристойности, с некоторых пор изобилующие на просторах твоего электронного альманаха?» — то и дело вопрошают достойнейшие из числа моих посетителей.
Ответы мои, разнообразные по форме и объёму, неизменно содержали один и тот же смысл. Нельзя, мол. И не отвлекайте от дел текущих, безмерно более важных.
Так бы оно всё и продолжалось, если бы за последние несколько месяцев моя виртуальная вотчина временно не стала этакой Меккой для сотен тысяч молодых, энергичных и в основном скудоумных людей. Собственно, ни для кого не секрет, что любая группа этих ваших человеков независимо от её численности имеет обыкновение срать. Но лишь немногие знают, что чем группа больше, тем это самое немудрёное занятие всё больше доминирует над всеми остальными.
Критически оглядев многочисленные следы пребывания здесь этой армии мыслителей и титанов духа, я окончательно убедился в необходимости что-то срочно менять...
Вообще-то, идея создания качественного антиматерного робота впервые посетила меня давным-давно. Примерно 18 сентября 2007 года, если я правильно датирую события Докризисной Эпохи. С тех пор она лениво витала в воздухе, пока всвязи с указанными выше событиями не заполнила собой все уголки моего сознания.
И вот на днях функция для определения относительной грубости текста была успешно написана и прикручена к движку блога. Материться и грубить по-прежнему не запрещено. Но если «относительная грубость» комментария больше 5%, то он автоматически скрывается. Впрочем, чтобы его всё-таки прочитать, нужно всего лишь нажать на специальную ссылочку. Выглядит это всё вот так:
Что такое «относительная грубость» и почему именно
5%? Объясню на примерах:
Пример 1. Текст: „хуйня“.
Длина текста — 5 символов, общая суммарная длина матерных слов — 5 букв, относительная грубость — 5/5 = 100%.
Пример 2. Текст: „ЕГЭ — это хуйня“.
Длина текста (без знаков препинания) — 13 символов, общая суммарная длина матерных слов — 5 букв, относительная грубость — 5/13 ≈ 38%.
Пример 3. Текст: „ЕГЭ — это хуйня, потому что основная декларируемая причина его введения — коррупция в образовательных учреждениях — только усугубилась; между тем, объективность оценки знаний при помощи ЕГЭ по-прежнему под большим вопросом“.
Длина текста (без знаков препинания) — 214 символов, общая суммарная длина матерных слов — 5 букв, относительная грубость — 5/214 ≈ 2%.
Таким образом, пятипроцентный предел грубости означает, что чтобы комментарий не оказался скрыт, матерные и просто грубые слова в его тексте должны быть как следует «обоснованы» без применения грубых слов и выражений.
Поиграться с фильтром мата
(хотя это не совсем фильтр и не только мата)
можно в новом разделе под пилотным названием
«
Нецензурная брань 1.0»
Помимо определения грубости введённого пользователем текста, там есть ещё пара функций, но в принципе они там и так обозначены, а тут я подробно расскажу о них в другой раз.
Как и многие другие бойцы армии пользователей Яндекса, я вечно сокрушаюсь, что он не умеет вычислять математические выражения, введённые в поисковую строку. Не то чтобы прям лично мне от этого плохо, — у меня и свой
онлайновый калькулятор под рукой имеется, — но народ, народ-то страдает!
Нет, к сожалению, прямо в поисковой строке всё-таки не получится. Но присобачить многофункциональный и вместе с тем простой калькулятор на главную страницу Яндекса — раз плюнуть.
Инженерный калькулятор
без дурацкой кучи кнопочек
Вот как-то так у меня это выглядит. Не знаю, как кому, а по мне — неимоверная круть:
Такой калькулятор умеет абсолютно всё, что умеет
HUYASIO (кроме разве лишь построения графиков), и будет продолжать обрастать новыми функциями одновременно с родителем.
«...и если вы скажете, что это плохо, я ваш кровный враг на всю жизнь» ©
Количество и слёзность просьб сделать поиск по текстам заданий
открытого банка ЕГЭ по математике с приближением дня экзамена резко возросли. Пришлось таки сделать вчера вечером этот самый
поиск. Кажись, он и прямо отсюда будет работать:
Если непонятно, с выбранной опцией
«все слова» ищутся задания, в которых присутствуют все слова (точнее, последовательности символов, разделённые пробелами) поискового запроса в любом порядке. Если же переключиться в режим
«точная фраза», будут искаться задания, текст которых содержит поисковую строку целиком.
Конечно же, удобнее всего искать текстовые задачи (
B1,
B5,
B10,
B12). Задания типа
«найти корень уравнения» (
B3) и
«найти значение выражения» (
B7) искать несколько сложнее, но тоже можно. Скажем, чтобы найти задание «
Найдите корень уравнения √16-2x = 2», можно, например, использовать запрос «
sqrt 16-2x = 2».
И да, в моей старушке Нокии дремучего 2007 года с Оперой Мини 2.0 такого же почтенного возраста на борту всё это чудесно работает:
Обычно с мобильных браузеров сюда ходят чуть больше 2% всех посетителей. Интересно, что будет 7 июня :)
Кстати, списывать, особенно на Едином™ Государственном® Экзамене©, особенно из интернета — нехорошо и не по-джедайски.
Вот просит иногда душа сделать какую-нибудь мало полезную в хозяйстве фигню. Но чтобы красиво и кроссбраузерно, с игрищами и блудницами. Очередной такой приход случился утром в понедельник, так что всё начало этой недели я посвятил упоительному клавиатурен клац-клац. Получилось очередное веб-приложение развлекательного свойства по фамилии «
Анаграммы».
Анаграммы — это, как известно, такие слова, которые получаются из других слов путём перестановки их букв. Ну, знаете, «
фашистка — фисташка» или «
клоповник — полковник».
Списки анаграмм, полученных простым просеиванием словарей (включающих, само собой, только исходные формы слов) можно
без труда найти в интернетах. Среди них попадаются прикольные сочетания (например, «
ватерполистка — австралопитек»), но живой великорусский язык гораздо богаче любого словаря.
Моя программа умеет искать анаграммы по всем словам, когда-либо произнесенным на нашем
форуме, включая все словоформы, разные неологизмы и слова с опечатками и орфографическими ошибками — более полумиллиона разных слов. И вот тут начинается самая ржака:
Весь вечер вчера пускал слюни, смотря на прыгающие буквы. Не читайте мой бложик: я не уверен, что это не заразно, зато убеждён, что медицина тут бессильна.
P.S. А вот
эту пару наверняка оценят многие первокурсники А-факультета МИФИ :)
P.P.S. И уж если речь таки зашла о МИФИ, то просто грешно будет не вспомнить про «
анархистов Стриханова»!!!
Каждый мифист знает, что такое
скибатрон. Это апофеоз электротехнической мысли, пейджер-мегацефал и троюрдный прапрадеверь каждого и бесчисленных рекламных табло на Пушкинской площади.
Кто не мечтал хоть раз пролезть в рубку управления этим замечательным устройством и сказать всему институту сразу: «Ирина Львовна, я люблю Вас!» или «Самарченко — мудрый и чуткий человек!» Но — увы, — заветные мечты оставались всего лишь мечтами.
Но так не могло продолжаться вечно. Человек новой формации, дитя священного союза Вконтактика и Жежешечки, не должен мириться с устаревшими авторитарными принципами управления скибатроном. И уже в эту самую минуту им на смену приходит новая парадигма —
Скибатрон вебдваноль онлайн бета!
О нет, это не реклама новой ультратонкой плазменной панели. Это — естественное развитие Скибатрона, новый Скибатрон. Скибатрон, которым может управлять каждый
мудак! Теперь ты (да-да, именно ты) можешь написать на скибатроне всё, что захочешь. Тебе подвластно бинарное состояние каждой из его 28800 зелёненьких точечек из любого места земного шара, где водится интернет.
Никакой, заметьте, модерации — полная свобода.
С момента публикации это, между прочим, самая идиотская из реализованных и самая реализованная из идиотских моих идей. Всё было так миленько во время тестирования, когда мы с узким кругом посвященных лиц играли на этой фигне в крестики-нолики (я, как водится, жульничал). А теперь круг резко расширится, и в нем обязательно найдутся те, кто любое светлое начинание перечеркнёт лаконичным, но размашистым «все пидарасы». Кроме того, большое количество пользователей наверняка приведёт к непредсказуемому поведению хрупкой системы. Ну и ладно.
Путём длительных размышлений, я пришел к выводу, что чтобы воспитать настоящего программиста, обучение следует начинать чуть ли не с младенческого возраста. Вопрос — как?
Ведь книжки по программированию (даже те, что «для чайников») явно не годятся для неокрепших детских умов. И вообще, начинать со всяких «Хеллоу, ворлд» — себя не уважать.
Короче, мой метод — брать быка за рога и приступать сразу к эпическим произведениям. А что для ребенка является самым эпическим произведением? Конечно же, «Сказка о репке»!
Напомню суть. В пространстве сказки определены семь экземпляров класса
Персонаж, в порядке первого вызова:
дедка,
репка (вот давайте только не спорить сейчас, репка — такой же персонаж, как и все остальные),
бабка,
внучка,
жучка,
кошка и
мышка.
Каждый экземпляр класса
Персонаж обладает свойствами
«имя» и
«сила» (сила репки, кто не понял, — это минимальная сила, с которой её можно вытянуть из земли) и методами
«посадить» и
«позвать на помощь» (оба они, фактически, вызывают функцию-конструктор нового экземпляра этого же класса). Да, вы правы: по идее, должен быть ещё метод
«тянуть», но мы его реализуем попозже.
Так вот, про основное действие — то самое воспетое неизвестным автором «тянем-потянем». В этом процессе участвуют сразу несколько экземпляров класса
Персонаж, поэтому реализовать его разумно не в виде метода этого класса, а в виде отдельного класса. У него есть свойства
«что тянем» (экземпляр класса
Персонаж) и
«кто тянет» (массив экземпляров класса
Персонаж). А также, грубо говоря, один основной метод — определение результата попытки вытягивания при текущем составе участников.
Остался только сам сюжет, который в классическом варианте сводится к следующему алгоритму:
- дедка = новый Персонаж;
- репка = дедка.посадить(новый Персонаж);
- процесс = новый ТянемПотянем(репка);
- процесс.включить(дедка);
- до тех пор, пока (результат процесса отрицательный, и ещё есть, кого позвать)
процесс.включить(процесс.последнийВОчереди.позвать(новый Персонаж));
Вот и всё — теперь, если задать правильные исходные данные, то программа в точности повторит эпическую историю о пище и взаимопомощи со счастливым концом.
Но если чуть-чуть поиграться с исходными данными, то... может получиться огромное количество совершенно новых увлекательнейших историй с поистине непредсказуемым финалом!
P.S. Исходный код (правда, я не особенно щедр на комментарии).
P.P.S. Если у вас не видно никакой кнопочки, или если при ее нажатии ничего не происходит, то вы, скорее всего, читаете эту заметку не на
live.mephist.ru.
Недавно я копался в одном чрезвычайно занимательном, познавательном и во всех отношениях замечательном блоге. Ссылку давать не буду, тем более что вы и так его сейчас читаете. Так вот, наткнулся, значит, на заметку «
Статистическая география» и в очередной раз подумал, что народные массы необходимо просвещать. Не жалея, так сказать, ни живота своего, ни прочих ценных частей тела.
Как известно, любая народная масса по большому счету видела собственное просвещение не иначе как в маленьком уютном гробике, одетое в стильные белые тапки. Как следствие, почти каждый, кто рискует разлить над толпой благородный свет познания, получает в ответ мощные лучи поноса и дружеские пожелания отправиться либо в нечто пятибуквенное, либо на кое-что трехбуквенное.
Поэтому, если хочешь направить массы по пути просвещения, желательно сделать это как-нибудь незаметно. Завлечь, там, сиськами голыми, хавчиком халявным, игрушками всякими. Глядишь, тогда почешут наивные массы по этому пути, а когда прочухают, что к чему, уже, может, и впадлу им будет обратно топать.
Голые сиськи — конечно, дело хорошее, и мы их в нашем благородном деле
всячески используем. Однако, опыт
математического порно доказывает, что к стойкой фиксации масс на пути познания подобные методы не приводят. Халявный хавчик я и сам съем, если найду. Так что остаются только игрушки.
Так что позвольте представить —
Название, конечно, так себе. Был еще, правда, вариант «Познавательная Игра для Запоминания Дальних и Относительно Близких Окрестностей Любимой Страны», но это как-то длинно. Хотя, если в виде аббревиатуры...
Не суть. Короче,
игра в города. Правила такие:
- Чтобы играть, нужно быть зарегистрированным на нашем замечательном форуме либо в офигительной системе онлайн-тестирования. Не зарегистрированные тупо смотрят, как рубятся другие.
- Правила — как при обычной игре в города: надо назвать город, начинающийся на букву, которой заканчивается название предыдущего города, но:
- Называть можно только города России. Только города и только России*;
- Однажды названный город можно назвать снова, но только спустя не менее 8 часов (это значит, что игра будет продолжаться вечно!);
- Никакой очередности соблюдать не обязательно — один игрок может назвать хоть сотню городов подряд;
- По существу, не так важно, сколько городов называть. Важно, на каком расстоянии находится названный тобой город от предыдущего. Эти километры и есть основная задача игры — чем больше километров ты намотал, тем ты круче. Поэтому как бы вот тут такая фигня — надо хоть чуть-чуть прикидывать, какой город где на карте страны находится;
- Очки (километры) суммируются за 24 часа. Пока, ясен перец, наилучший результат принадлежит мне** и составляет около четверти миллиона километров за одни сутки;
- Там снизу есть чят. Зарегистрированные могут чятиццо.
*) Если вы прям на стопицот процентов уверены, что какой-то город в России точно есть, а система его не принимает, пишите сюда в комменты, я добавлю;
**) На рейтинг игроков я как всегда подзабил, он появится чуть позже.
Я закончил свой доклад, прошу задавать вопросы.
Вчера утром я крепко задумался о бренности всего сущего, и главным образом о том, что подавляющее большинство программных калькуляторов, которые мне довелось видеть на экране своего компьютера — говно. И — что уж там — говно в высшей степени унылое.
Периодически, знаете ли, меня мучают вопросы типа «
сколько будет сто четыре логарифма по основанию три от корня восьмой степени из трёх», а никаких, даже элементарных, мысленных усилий совершать категорически не хочется. Тут есть три пути:
- Тыкать в кнопочки обычного калькулятора, лихорадочно соображая, в каком порядке выполнять действия, и как там работают эти загадочные кнопки «M+» и «MR»;
- Запускать какого-нибудь мастодонта типа Maple или MATLAB (типа как прикуривать от ядерного реактора);
- Просто забить (не спортивно);
- Написать свой кошерный калькулятор с блекджеком и шлюхами.
Особо умные и внимательные, конечно, обратили внимание на то, что путей насчиталось четыре вместо обещанных трёх, и уж точно не будут умничать по поводу того, что приведенный выше пример решается простым делением в уме 104 на 8.
Конечно же, любой разумный человек выберет самый простой путь. Вот и я
просто забил написал
Онлайн-калькулятор
со всякими синусами и логарифмами,
интуитивно понятным вводом выражения
и всего двумя кнопками.
Для продвинутых отмечу, что там при вычислении значения выражения поддерживаются все методы и предопределенные константы объекта Math языка JavaScript (за исключением
Math.E, которая успешно заменяется выражением «
exp(1)»), а также все арифметические и логические (как унарные, так и бинарные) операции вышеназванного языка. Кроме, естественно, побитового исключающего ИЛИ, что и так всем понятно.
Update (08.11.09): В стремлении сделать инструмент удобным как минимум для самого себя, добавил:
- Вычисление выражения по нажатию кнопки «Enter»;
- Сохранение результата вычисления.
Если текущее значение выражения представляет собой число, отличное от нуля, то его можно добавить в поле «память» двойным кликом по ответу либо кликом по ссылке «память». Если потом кликнуть по сохраненному числу, оно вставится в поле ввода выражения.
Память калькулятора не сохраняется при перезагрузке страницы. Ибо нафиг.