Науки делятся на физику и коллекционирование марок

В дискуссии о том, можно ли преподавать матанализ студентам со средним баллом 65 на ЕГЭ по математике в очередной раз пролистал записки Юрия Неретина о преподавании математики. Среди прочих заслуживающих внимания мыслей нашел там вот такую:

…наука, как запас сведений о мире, — это не сарай с ветхим хламом, а логическая структура. А наука (как, впрочем, и инженерия), как род деятельности – это поиск со всеми присущими ему ошибками и сомнениями. Архаичная научно-популярная литература отражала все это; рассказывая об истории мысли, поисках истины, логических связках, красоте природы, она и сообщала человеку основы соответствующих наук, и учила человека думать.

Кажется, примерно из этого представления о “науке, как роде деятельности”, растут корни проводившихся на прошлой неделе пятиминуток ненависти в отношении “цифровых гуманитариев” – потому как занятие многих из них как раз состоит в наполнении “сарая с ветхим хламом” в надежде, что кто-то придет и придаст накопленному логическую структуру. Во всяком случае, именно такое представление о дисциплине у меня сложилось после пролистывания одного из иностранных учебников (гуглотранслейт в помощь):

https://handbuch.tib.eu/w/DH-Handbuch

Куда конь с копытом, туда и рак с клешней, или про MOOC

Прочитал тут про попытку заменить лекции в ВУЗах “третьего эшелона” видеокурсами. Якобы нынешним руководителям от образования пришла в голову такая идея – нечего держать во всяких сомнительных “университетах” кафедры “высшей математики” и тому подобных предметов, вместо этого силами нескольких “ведущих ВУЗов” на сайте “Открытое образование” будут вестись модные massive open online courses.

https://www.nakanune.ru/articles/114512/

Сайт Накануне.RU в целом, конечно, политически ангажирован, движение “За возрождение образованияв Контакте я не раз замечал в неких странностях – так что полез проверять – что это за курс такой, после которого отчисляют аж 30% студентов МГУ. Заодно хотелось выяснить, кто же читает курс – лектора я в лицо не признал.

sadovnichaya

Курс на “Открытом образовании” нашелся довольно быстро – заодно стало понятно, почему я не опознал лектора – Инна Викторовна Садовничая преподавала на ВМК, пока не стала заведующей кафедры фундаментальной и прикладной математики на недавно созданном факультете космических исследований.

https://openedu.ru/course/msu/CALCSV/

И вот где-то на этом месте хорошо бы вспомнить, зачем и для чего все это. Официальные лица говорят примерно следующее:

Предоставляемый контент прошёл проверку не только вузом – разработчиком курса, но и национальной платформой “Открытое образование”. Курс высшей математики является базовым для студентов инженерной направленности, получение базовых знаний на более высоком уровне от лекторов ведущих учебных заведений нашей страны является залогом высокого качества знаний студентов

Но позвольте, где тут “более высокий уровень”? Программа курса совершенно стандартна – сложно ожидать что-то от курса математического анализа, содержание которого вот уже сто с лишним лет вообще не меняется. Я не шучу – можно взять учебник Чезаро, изданный на русском в 1913 году (часть I, часть II), и прекрасно готовиться по нему. Да, при наличии некоторой фантазии и готовой к восприятию этого всего аудитории курс матанализа можно дополнить несколькими более современными сюжетами (к примеру, Т. П. Лукашенко на мехмате добавляет из экзотики интегралы МакШейна и Курцвейля-Хенстока, что для студентов-математиков может быть и полезно), или изложить его в несколько иной последовательности – но тут все до безобразия банально. О том, как Садовничая читает лекции, я ничего сказать не могу – так что будем считать, что в виде видеолекций у нас имеется средненький курс матанализа, прочитанный средненьким же лектором. Как-то не вяжется это с “более высоким уровнем”?

В общем, выглядит это все весьма уныло. Заодно можно оценить и технический уровень видеолекций – его даже сложно назвать плохим, он катастрофически плохой. Рукописные листочки с непонятным почерком в 2018 году? Серьезно?

Собственно, не завидую студентам, у которых вместо пусть плохого, но “живого” лектора будет вот этот видеокурс.

Lesbian rule

Эта статья википедии – вовсе не про то, о чем вы все подумали:

https://en.wikipedia.org/wiki/Lesbian_rule

Про Digital Humanities

Часть фейсбучной ленты открыла для себя существование области человеческой деятельности под названием Digital Humanities (на русский это переводят “цифровая гуманитаристика”) и весело над этим ржет. В целом общий ржач поддерживаю (как представитель антиобщественных наук) – ну и разве что хочу поделиться собственным определением этого предмета (которое вывел, ознакомившись с содержанием магистерской программы по этим самым Digital Humanities в TU Darmstadt):

Digital Humanities – это то, чем можно заниматься в “гуманитарных науках”, владея компьютерной техникой на уровне толкового старшеклассника.

Про поиски виновных

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

Параметры контракта для очередного пуска рассчитывала одна из многочисленных “девочек”-аналитиков. Рассчитывала – громкое слово, так как в компании для этого существует установленная методика и табличка в Excel. Но что-то пошло не так – запуск оказался неудачным, и вместо того, чтобы положить страховую премию себе в карман, компания была вынуждена платить.

Кого там назначил виноватым Роскосмос – уже и не припомню, а вот девочку премии все равно лишили.

Про инновации

Вот в продолжение записи про “преподавание инноваций“:

Как утверждает авторша, идея родилась у нее во время работы над “проектом по предмету Экономика инноваций в Университете” (явно имеется в виду МГУ). Курс под названием “Экономика инноваций” читается зачем-то студентам-экономистам – а в результате получаем вот примерно это. В учебнике, конечно, написано, что

По словам директор бизнес-акселератора 500 Стартапов (из Силиконовой Долины) Дейва МакКлюра, ключевым преимуществом любого стартапа является не бизнес-идея, а именно команда, где человеческий ресурс имеет принципиальное значение.

- но кто из экономистов это читает? На выходе имеем совершенно наивную и непроработанную идею (я такие могу пачками под пиво рожать), отсутствие всякого представления о ее реализации, но зато – написанный по “правильному” шаблону бизнес-план, который, к сожалению, не находит никакого отклика даже в жюри конкурса “УМНИК”.

На выходе, разумеется, ноль без палочки и горькая обида на членов жюри, которые якобы “воруют идеи заявочников”.

Про кнопачки

Купил тут в Чип-и-Дипе “всякой твари по паре” – точнее, разнообразных кнопок для одного сравнительного теста. Среди прочего барахла взял китайских “аркадных кнопок” – и обнаружил, что внутри них стоят переключатели “типа Alps” (как их обозначают в среде клавиатурных маньяков):

arcade-button

Внутреннее устройство переключателя – почти стандартное для китайских и тайваньских клонов Alps, разве что подвижный контакт тут почему-то состоит из двух деталей (на Deskthority такой вариант не встречается):

alps-clone-internals

Очень похожие кнопки продаются на Aliexpress по цене что-то около 30-50 рублей за штуку (в зависимости от количества): https://ru.aliexpress.com/item/30/32886768751.html. Если вам зачем-то могут понадобиться китайские “клоны Alps” – то вроде бы годный вариант.

Да, стоит, наверное, предупредить, что надписи 16А/250V в прайсе ЧиДа верить не надо.

Дно пробито

В моем личном хит-параде криворуких уебанов обновление – установщиков автосигнализаций потеснили на второе место установщики автомобильных же GPS-трекеров.

Чуваки ставили какой-то “телематический терминал” (GPS-трекер с передачей данных по GPRS, тысячи их) на банальную ГАЗель. Казалось бы, что может быть проще, чем подключить этот терминал к питанию и проложить провод к антенне? Не надо подключать даже датчик уровня топлива или что-то в этом роде. Достаточно найти провод, на котором появляется +12 В после включения зажигания и “массу”. Тем более – это предстояло сделать в простой, как три копейки, карбюраторной ГАЗели выпуска 2001 года.

Но фантазия долбоебов не знает границ! Эти товарищи попытались найти “массу” в колодке замка зажигания, видимо, взяв тестер и прозванивая провода на предмет контакта с “массой”. Первым делом им попался провод, идущий к реле стартера. Ну что сказать – молодцы, мультиметром в режиме прозвонки пользоваться умеют. Собирают, накидывают на аккумулятор клемму…

…результат немного предсказуем – проскакивает громадная искра, ГАЗель начинает весело вертеть стартером. “Установщикам” несказанно повезло, что машина не стояла на передаче. Следующая попытка найти массу была более успешной – за массу приняли провод, включающий бензонасос и прочую такую фигню. Терминал вроде бы работает, только вот не обнаруживает включение зажигания, да и бензонасос жужжит постоянно – но это посчитали “не проблемой”.

gazelle402

А теперь вишенка на торте – даже в растиражированной в интернете цветной электросхеме ГАЗели “для тупых”, с картинками (специально для электриков с IQ ниже 70), довольно легко можно понять, что в колодке замка зажигания “массы” в принципе нет. Картинка кликабельна.

Если вам лень читать 100500 комментариев в фейсбуке…

…то с кратким конспектом ЭЭГ-гейта можно ознакомиться на хабре:

https://habr.com/post/427195/

И как водится – “история … вскрыла такие глубины, о которых многие и не подозревали, став из истории о технике историей о людях” – на хабре написали уже три с лишним сотни комментариев, многие из которых – живые иллюстрации к основным тезисам из поста.

Диаграмма моднявых buzzword’ов по состоянию на октябрь 2018

buzzwords

Обратите внимание, как лихо математику и статистику задвинули в графу Ignore, заменив “искусственным интеллектом” и “машинным обучением” и каким-то непонятным data science (”наука о данных”?). Потырено не с помойки, а аж из Harvard Business Review:

https://hbr.org/2018/10/which-data-skills-do-you-actually-need-this-2×2-matrix-will-tell-you

Чуточку про стартапы выскажусь

Брошенная вчера в выгребную яму фейсбука палочка дрожжей привела к закономерному результату – говно поперло в космических масштабах:

https://www.facebook.com/olartam/posts/2108799502503462
https://www.facebook.com/shperk/posts/10160889291945153
https://www.facebook.com/GagarinAleksandr81/posts/2331073720477747
https://www.facebook.com/olartam/posts/2109574195759326

Дело дошло до публикаций в робототехнических мурзилках:

http://edurobots.ru/2018/10/neuro-tb/

В комментарии понабежали всякого рода “федеральные тьюторы по робототехнике”, демонстрирующие полную некомпетентность в обсуждаемом вопросе, а заодно – Тимур Бергалиев, “генеральный директор Bitronics Lab” вместе со своим научным руководителем – Юрием Аммосовым. И вот что я хочу по этому поводу сказать.

Отечественная (подозреваю, что не только она) околообразовательная тусовка поражена какой-то нездоровой любовью к “студенческим стартапам”. Масса народа ездит студентам и выпускникам по ушам, заманивая их во всевозможные “стартап-акселераторы”, братские могилы стартапов вроде Сколково и прочие сомнительные места. К услугам выпускников, поддавшимся на пропаганду всей этой стартапщины – всевозможные гранты, фонд Бортника и еще масса организаций разной степени сомнительности. Получить какие-то ништяки от того же Сколково или Бортника можно фактически под неплохую дипломную работу.

С другой стороны – наверное, не стоит говорить о том, что “на выходе” в любом ВУЗе получается в лучшем случае “личинка специалиста”, к самостоятельной работе по специальности толком не подготовленная. “Лечится” это обычно попаданием в нормальные “рабочие” условия, отеческими пиздюлями от старших товарищей, ну и прочим жизненным опытом. Но юный стартапер выше всего этого! Он не желает работать на раздающего пиздюли дядю, а желает, как рассказали в вузовском спецкурсе по “технологическому предпринимательству” (краткий пересказ биографий Стива Джобса, Элона Маска и Элизабет Холмс), создать свой стартап и облагодетельствовать человечество в меру своего понимания.

Результат? Собственно, он перед вами – “генеральный директор” Bitronics Lab публично демонстрирует полную некомпетентность как в технических, так и в бизнес-вопросах.

PS Любителям же “студенческих стартапов” очень советую прочитать и осознать статью по ссылке:

https://www.nber.org/papers/w24489

UPD Генеральный директор Bitronics Lab написал в фейсбуке “признаю себя ослом”:

https://www.facebook.com/permalink.php?story_fbid=2197569037166465&id=100007401691419

Целый вагон холопов подвезли

holopy

И еще немного посмеяться

При непосредственном участии РОЦИТ, НИУ ВШЭ, АСИ и прочих ДЛБ целая команда методологов соорудила тест “цифровой грамотности” для школьников. Авторы так гордятся своей работой, что предлагают оценить ее всем желающим. Давайте тоже не будем оставаться в стороне – благо они сами об этом просят. Тест будет идти до 24 октября включительно и доступен по адресу http://dl.worldskills.ru/. Копирую инструкцию:

Тест бесплатный. Только требует регистрации. Надо ввести свой e-mail и после активации ссылки из письма заполнить данные – регион, город, дату рождения, школу класс. Потом в разделе Конкурсы появится наш тест. Когда тест проходят взрослые, я рекомендую писать “вне конкурса” в поле “учебное заведение”. Чтобы как-то потом в статистике это можно было отдельно отфильтровать.

Да, важное предупреждение – не пейте и не ешьте во время прохождения теста, можно подавиться от смеха на некоторых вопросах.

computer-literacy-test

ЭЭГ на Ардуине

Что-то мне в последнее время полюбился тег “запретите им” – так что продолжу.

Я не прошу оценивать соответствие этого поделия IEC 60601 – но покажите мне в этом устройстве гальваноразвязку, а заодно – скажите, кто будет отвечать, когда подключенный к ардуине “пользователь” схватится рукой за батарею.

К предыдущим двум записям

Еще одна часто игнорируемая область знаний “настоящего” программиста – умение оценивать необходимые для решения поставленной задачи вычислительные мощности. Ну да, нейросетка для MNIST на микроконтроллере за 7 $ на первый взгляд – это круто. Но с другой стороны – помните такие древние-древние наладонники Palm?

palm-pilot-1000

У них было поле для “рукописного” ввода букв и цифр – правда, с использованием упрощенного алфавита Graffiti, но как минимум цифры там были довольно похожи на “настоящие”. При этом распознавание рукописного ввода с тачскрина прекрасно жило даже на самых дохлых Palm с 128 кБ ОЗУ и 512 кБ ПЗУ (в которых помещалась операционная система и кучка необходимых приложений). Тактовая частота процессора составляла всего лишь 16 МГц. Согласитесь, что то же самое распознавание цифр на микроконтроллере с тактовой частотой под 100 МГц, 320 кБ ОЗУ и 1,5 Мб Flash уже не выглядит невероятным прорывом?

А модное нынче распознавание речи? В один голос Google, Amazon и Яндекс рассказывают нам о невероятной сложности их “голосовых помощников” – мол, “Чтобы обработать речь, нужно сделать много расчетов, поэтому то, что вы говорите, передается на серверы Яндекса и распознается там.” При этом внутри “умной колонки” стоит неслабый процессор (неназванный Quad-core ARM Cortex-A53 @ 1 GHz (12000 MIPS)), 1 Гб ОЗУ и 8 Гб ПЗУ. Неслабо так, да? А тем временем, роясь в куче хлама, я недавно нашел пиратский диск конца 90-х с кучкой программ для распознавания речи – и я точно помню, что что-то оттуда работало на моем тогдашнем Pentium 120 МГц с 16 Мб ОЗУ и Windows 95, и вполне неплохо.

Вот вроде бы кажется, что “большие данные”, “нейросети” и все такое – это невероятно сложно и доступно только “технологическим гигантам” – но с другой стороны, посмотрите на исследования в области искусственного интеллекта и машинного обучения конца 80-х. Результаты могут быть довольно впечатляющими даже по нынешним временам, а бюджеты и вычислительные мощности даже в самых продвинутых проектах – смешные. Поневоле задумаешься – а вдруг всякие “умные колонки”, голосовые помощники, система Android и так далее – это просто инструменты для сбора данных? Во всяком случае, это укладывается в логику статьи “For Google, you’re neither the consumer nor the product. You’re a data point”:

https://rakhim.org/2018/09/you-are-a-data-point/

Ну и естественно, стоит задуматься, как все это сочетается с представлениями о приватности и безопасности.

Суровый программизм

Вот читаю я, допустим, статейку про проект uTensor – совместимую с TensorFlow реализацию нейросетей для ARM Cortex M3 или M4.

https://towardsdatascience.com/why-machine-learning-on-the-edge-92fac32105e6

Штука прикольная – пусть и на “топовых”, но все-таки на недорогих и довольно доступных микроконтроллерах позволяет, например, распознавать рукописный ввод:

Ну, со специалистами по “обычному” машинному обучению все вроде бы понятно – трехмесячные курсы и вперед, можно даже других учить (я почти не шучу – во всяком случае, очень похоже, что вот такие популярные “курсы для начинающих” этими вот “трехмесячными специалистами” и сделаны). Но если задуматься – а что нужно, с точки зрения фундаментального образования, чтобы более-менее понимать каждый из элементов этой системы?

Ну, для начала – математика. Для понимания хотя бы MIT’овского учебника по Deep Learning желательно иметь представление о линейной алгебре, теории вероятностей, возможно, о каких-то началах функционального анализа. Да, некоторые отрывочные сведения из этих дисциплин приведены в первой части этого учебника (так часто делают в американских учебниках – так как нет гарантий, что слушатели курса по машинному обучению перед этим действительно прослушали несколько курсов по математике) – но их явно недостаточно. Если ориентироваться на программу мехмата, например – это 2-3 курс, если безжалостно ужимать – то все равно необходимо 3-4 семестра одной только математики.

Программирование тут не менее суровое. Даже если предположить, что с Python (в объеме, необходимом для TensorFlow) человек, умеющий немного программировать на C, сможет разобраться самостоятельно – все равно здесь, как и в любом проекте с использованием микроконтроллеров, требуется отличное знание C и даже немного – C++ (даже если говорить о нем, как о C with classes – все же нужно понимать “цену” тех или иных возможностей C++). Не знаю, стоит ли в обязательные общие требования к программисту включать знания классических алгоритмов – но в целом в критичных к производительности задачах это оказывается само собой разумеющимся требованием. Тут у нас нет многоядерного процессора и гигабайтов оперативки. В “профессиональном обучении” программиста это где-то год.

Дальше – микроконтроллерная специфика. Да, “входной порог” в программирование для микроконтроллеров сейчас (благодаря все той же ARM mbed) сводится “до уровня базовых знаний C/C++ и электроники в масштабе «подключить светодиод в нужной полярности»” (c) – но для понимания штук типа CMSIS-NN желательно уже иметь представление об архитектуре ARM, всякого рода оптимизациях, DSP-инструкциях (зря что ли мы берем Cortex-M4?) и прочей такой вот низкоуровневой ерунде – возможно, вплоть до программирования на ассемблере. Электроника, нужная для такого проекта, разумеется, тоже довольно далеко ушла от “подключить светодиод в нужной полярности”.

В общем, если представить учебники по каждой из дисциплин – тут “вырисовывается” книжная полка с десятком книжек страниц по 300 каждая (это минимум – некоторые особенно “хорошие” учебники по некоторым разделам computer science приближаются к полутора тысячам страниц). Можно, конечно, возразить с аргументами в духе разделения труда – мол, не обязательно специалисту по deep learning знать нюансы архитектуры ARM, да и математика ему не особо нужна, и вместо одного “универсала” тут можно взять трех-четырех выпускников трехмесячных курсов. Но с другой стороны – над ними все равно должен быть какой-то руководитель – который должен иметь представление не только о технических аспектах, но еще и направлять процесс разработки.

И заметьте – все это только для того, чтобы можно было пальчиком провести по тачскрину, а на дисплее отобразилась бы введенная цифра. Но, конечно, всегда есть и более простой путь – “еще три года назад Антон был простым раздолбаем, а сегодня он Senior Developer в Luxoft” (c). Сеньер-формошлепом, наверное, быть неплохо :)

Технический луддизм

luddism

Наткнулся на днях на статейку (прошлогоднюю, конечно, я же тормоз) про federated learning:

https://ai.googleblog.com/2017/04/federated-learning-collaborative.html

Если немного очистить ее от AI-шной шелухи и заявлений о том, как Google улучшает User Experience – то содержание сводится примерно к следующему: приложение Gboard (стандартная андроидовская клавиатура) анализирует все (или практически все) сообщения, пересылаемые между пользователями, немного их обрабатывает (вот для чего “бюджетным” устройством на Android считается смартфон с четырехядерным процессором и минимум 2 Гб оперативной памяти), и результаты обработки пересылаются в Google (вот кто жрет ваш трафик) – чтобы там могли немного улучшить качество “подсказок” Gboard. Говоря еще проще – в Google читают всю вашу переписку :)

А как от всего этого счастья отказаться, не уходя жить в тайгу к староверам?

Внезапно осознал

namespace std в C++ – это не сокращение standart, это сокращение sexually transmitted disease – заболевание, передаваемое половым путем.

Вот подумалось тут

Разбирая непрочитанные закладки в браузере, наткнулся на “заложенную” статью о Progressive Web Applications. Я некоторое время назад задумался о простеньком веб-приложении, умеющем работать в “оффлайне” – точнее, способном сохранить введенные в форму данные и затем синхронизировать их с сервером, так что краем глаза увидев “рекламу” концепции Progressive Web Application, подумал – это как раз то, что нужно! Вот сегодня наконец-то руки дошли до погуглить, что это такое и как они делаются – и если честно, я немного офигел.

Идея, если подумать – очень простая. Немалая часть “приложений” для Android или iOS – это несложные обертки над каким-нибудь API, работающим поверх обычного HTTP. Некоторые вообще не парятся и отрисовывают весь пользовательский интерфейс в WebView или как он там называется, и даже реализуют “содержательную” часть приложения на браузерном JavaScript. Так вот, зачем плодить такого рода “приложения”, если можно сохранить на устройстве “главную страницу” сайта (или “приложения”) вместе с необходимым JavaScript и прочими ресурсами (CSS, картинки и так далее)? PWA – это небольшой набор средств, позволяющих добавить специально оформленную веб-страничку в список “приложений” на устройстве с Android или iOS. К этому добавляется возможность зарегистрировать в системе некоторый код на JavaScript для фонового выполнения – эта штука называется ServiceWorker – и готово!

Примерно тот же набор фактов вперемешку с основными принципами разработки “прогрессивных веб-приложений” излагается обычно на паре страниц мелким текстом, засоренных “птичьим языком” про “rich mobile experience”, “new level of quality” и тому подобную ерунду. В худшем случае все сводится к этой самой ерунде, а технические детали опускаются совсем.

Вот мне интересно – в других, отличных от веба разделах того, что обычно называют “информационными технологиями”, отношение количества вот такого буллшита к техническим деталям обычно немного ниже. А почему?

Для состоятельных парней

Департамент образования города Москвы проводит среди учителей олимпиаду по трем предметам: математике, физике и химии. Среди требований к участникам – “Ежемесячная заработная плата (сентябрь – декабрь) не менее 100 тысяч рублей”.

Пруфлинк: https://temocenter.ru/deyatelnost/konkurs-sbg.html

Давить нищебродов!