?

Log in

No account? Create an account
Представитель Шуры Люберецкого в ЖЖ Below are the 10 most recent journal entries recorded in the "Представитель Шуры Люберецкого в ЖЖ" journal:

[<< Previous 10 entries]

Октябрь 20, 2018
10:47 am

[Ссылка]

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

holopy

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(Оставить комментарий)

10:44 am

[Ссылка]

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

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

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

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

computer-literacy-test

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(Оставить комментарий)

10:00 am

[Ссылка]

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

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

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(8 комментариев | Оставить комментарий)

Октябрь 17, 2018
01:27 pm

[Ссылка]

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

Еще одна часто игнорируемая область знаний “настоящего” программиста – умение оценивать необходимые для решения поставленной задачи вычислительные мощности. Ну да, нейросетка для 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/

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(2 комментария | Оставить комментарий)

Октябрь 16, 2018
06:37 pm

[Ссылка]

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

Вот читаю я, допустим, статейку про проект 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). Сеньер-формошлепом, наверное, быть неплохо :)

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(Оставить комментарий)

04:13 pm

[Ссылка]

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

luddism

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

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

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

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(2 комментария | Оставить комментарий)

Октябрь 14, 2018
06:52 pm

[Ссылка]

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

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(Оставить комментарий)

Октябрь 12, 2018
08:13 pm

[Ссылка]

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

Разбирая непрочитанные закладки в браузере, наткнулся на “заложенную” статью о 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” и тому подобную ерунду. В худшем случае все сводится к этой самой ерунде, а технические детали опускаются совсем.

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(Оставить комментарий)

Октябрь 11, 2018
12:28 pm

[Ссылка]

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

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

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

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(1 комментарий | Оставить комментарий)

Октябрь 5, 2018
11:01 am

[Ссылка]

Highly likely

Новые доказательства преступлений “Петрова” и “Боширова” в Солсбери:

higly-likely

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

(Оставить комментарий)

[<< Previous 10 entries]

Разработано LiveJournal.com