ioccc.org? Напомню, что основатель языка Perl два раза там места призовые занимал...
PS
not exp log srand xor s qq qx xor
s x x length uc ord and print chr
ord for qw q join use sub tied qx
xor eval xor print qq q q xor int
eval lc q m cos and print chr ord
for qw y abs ne open tied hex exp
ref y m xor scalar srand print qq
q q xor int eval lc qq y sqrt cos
and print chr ord for qw x printf
each return local x y or print qq
s s and eval q s undef or oct xor
time xor ref print chr int ord lc
foreach qw y hex alarm chdir kill
exec return y s gt sin sort split
Я это и имел в виду, когда писал об "аналоге пайтона".
Когда мы начинаем говорить о фреймворках - про язык можно забыть. И вспомнить о том, что такое "оверинжиниринг" и как надо изнасиловать язык, чтобы всем вокруг стало удобно.
А главный то вопрос - чем Mojo лучше чем пайтоновские сервисы?
Тем что на перле?
Так на пайтоне веб-сервисы пишутся быстрее. Код на каком-то Flask скорее всего будет компактней, чем на Mojolicious. Образование и подготовка кодописателя на пайтоне дешевле, чем на перле (даже без учета LLM на экзамене).
Т.е. для бизнеса пайтон получается предпочтительней.
Вот и все, остальное уже не имеет значения, все "красивости" языка, все свистелки и перделки уже не играют никакой роли.
Бизнес любит практичность, экономность и безопасность.
В интернетах был одно время форум, еще до социалок, написанный полностью на ассемблере 86_64. Но имхо это не повод говорить об ассемблерных веб-сервисах.))
PS
Имхо сила перла была в том, что Ларри Уолл - дядька с ооочень интересным бэкграундом. Кроме неоднократных побед в ioccc.org (что ожидаемо для автора Перла), он например начинал карьеру как переводчик, причем - Библии. И язык он делал по образцу человеческого языка с дополнительным формализмом (перевод Библии сильно отличается по формальным требованиям от переводов Звездных Войн). Вот добавить в перл красивой рефлексивности (типа Racket на стероидах с самомодифицирующейся грамматикой), сделать так, чтобы автор кода сам создавал язык на лету, формируя DSL в каждом абзаце - и это могло бы сыграть, такого нету в нашем мире. Если безопасность гарантировать конечно, что кстати очень нетривиально.
А кто сегодня такое способен сделать?
Если и найдется - его будут бить по голове распечаткой Тьюринговской речи Денниса Ричи, там как раз про рефлексию)))
И еще - язык то без вменяемой VM. Значит с безопасностью тоже весело. Не то, чтобы она была так уж и нужна реально, но того, кто такое скажет - сожгут на костре из распечаток с полным списком всех CVE. И припечатают патчем Бармина сверху.
Кстати, автор программы patch - все тот же Ларри.
Чувак вообще очень неординарный, это не очередная икона как Гвидо.
Вот под многими вещами я подпишусь, пайтон я очень не люблю если что, вообще RAD всегда предполагал особый склад ума, но пайтон тут переплюнул всех.
Глядя на него я всегда вспоминаю девиз программистов Дельфи забытых времен - "мы могли бы написать Windows, но у нас не хватило компонентов".
Я все жду, когда наконец в пайтоне появится волшебная строчка "import ai", это было бы логично по крайней мере. ))
Лично для себя, если мне надо написать например простенький кодогенератор или DSL -> С/++, я беру perl::yapp и не парюсь с dependency hell в Ocaml (хотя знаю, что так правильней и чище). И уж точно не буду это делать на пайтоне - задолбаюсь с requiremets.txt и venv. Но это короткоживущий код, который поддерживать надо максимум месяц, а не годы. Большой проект на перле я точно писать не буду, в смешанной команде очень легко скатиться в меландж стилей и методов.
Насчет TIMTOWTDI - так то тоже верно, пайтон тут всех переплюнул. Но на пике самого Perl он был проблемой, больше за счет комбинаторики, чем из-за базовых функций. С ними все в порядке как раз - но чуть выше уровнем и можно написать цикл через map, можно использовать забытый switch, или постфиксный if - вариантов за пределами функций как раз хватает и комбинаторика начинает диктовать свои правила даже на уровне разбивки проекта на модули.
Но я то помню сколько постов на PerlMonks начиналось с этой аббревиатуры.))
PS
Имхо современные языки программирования предназначены не для написания кода, а для программирования людей и создания замкнутых экосистем с целью получения долговременной прибыли. И с этой точки зрения пайтон очень выгоден (как и С++ был в нулевых) - он создает секту верующих, поддерживающих собственное существование и воспроизведение. А вот на Перле секту сделать сложно (хотя можно, но затратнее и ценой сильного упрощения языка).
Лично я вообще выбираю Lua - за его неприхотливость и универсальность. Он работает и в микроконтроллерах и в больших данных, расширяем настолько элементарно, что и фреймворки не нужны, достаточно безопасен и консервативен и я знаю, что ближайшие 20 лет он не изменится настолько, что кодовую базу придется выкидывать или переписывать. Но это мой выбор и мне в общем пофиг какое место он занимает в индексах. Все равно на микроконтроллерах microPython так толком и не заработал и не заработает (а перлу вообще там ничего не светит). А на больших данных в пайтон все равно надо уметь (никто не поймет иначе и оффера не получить), ок, а что там сможет сделать Perl? Что вообще он может принести принципиально нового, чего не могли бы существующие и развитые экосистемы? Чтобы он стал конкурентоспособен в bigdata/матане/LLM - нужны аналоги scikit/numpy/pandas/etc/etc - а заведомо успешная попытка их написать будет просто клоном зоопарка пайтона. Потому что другой вариант будет неконкурентоспособен среди тех, кто уже потратил кучу времени на изучение всей этой экосистемы. И что - воспроизводить всю эту хрень и портить язык?
Не верю я в его ренессанс. И не только из-за фейла с Perl6, не из-за его юникода и синтаксиса, отпугивающих новичков (и значит затрудняющих воспроизведение кадров, что критически важно для хайп-секты). Я экологической ниши не вижу. Ну не вебаппликухи же клепать на нем? Может вебсервисы и вытеснить golang? Может заменить JS на фронте или Java на андроидах? Вот в чем может быть фишка Perl7,8,... ?
Это ведь вопрос Дарвиновского отбора на самом деле, пайтон с его тупейшим синтаксисом выиграл гонку не просто так.
Лично я буду рад, если перл вернется. Но не мутирует ли он в этом случае до аналога пайтона? Просто чтобы обеспечить воспроизводимость кадров, пишущих на нем?
Как человек, писавший на перловке еще в конце 90-х (и продолжающий иногда это делать сейчас), могу эти байки только подтвердить, причем лично.
И ругань команды пайтонистов на мой перловый код (именно этими словами) слышал не раз.
При этом я вполне осознаю преимущества перла над пайтоном.
Как впрочем и недостатки, главный из которых имхо совсем не write-only код, а такая древняя аббревиатура как TIMTOWTDI. Родившаяся (сюрпрайз) как раз в языке Perl и делающая невозможным совместные единообразные действия гетерогенной команды без перманентных срачей.
Парадокс, но именно богатство языка - его же и убивало. А уж в наше время, озабоченное стандартами и правилами чистописания, я как-то шансов не вижу вообще.
Очевидно, что все GUI и AI ассистенты предназначены для человека, оптимизированы для человека и настроены на человека, как на конечную точку управления. Когда вам нужно чтобы точка управления была роботом/программой/инопланетянином (т.е. сделать цепочку управления из компонентов), вам придется писать обертку над этим GUI, имитируя CLI.
CLI спроектированный правильно позволяет делать цепочки вызовов, поскольку обеспечивает формальный язык коммуникации, верифицируемый на каждом этапе, легко отлаживаемый.
Без него вы можете пользоваться подуктами, но не объединять их, вы не сможете сделать автоматизацию без кучи скриптов, перебирающих продуктовый API - оптимизированный для человека. Т.е. неортогональный и избыточный, настроенный на удобство, а не функциональность и прегруженный свистелками и перделками для выживания в естественном отборе за внимание пользователя.
Скрипты конечно вам сгенерит AI и вам придется доверять им вслепую, и действительно, что может пойти не так, а? :-)
Вывод.
GUI - для человека (в данной культурной среде, в данном времени, в данном окружении, т.е. их придется менять каждый новый девиз правления).
CLI - универсален для всех акторов.
Так было со времен первых CLI хейтеров (см. например Unix Haters Handbook), давших начало Windows и MacOS, так будет всегда, потому что это математика и ей плевать на удобства и мнения - ее дело формальные языки, вечные и неизменные.
PS
Когда-то, в первобытные времена, людям очень не нравилась убогость веба и они придумали Adobe Flash - яркий и гибкий (для пользователя). А то, что сайты с ним поисковые роботы не могли проиндексировать - ну кто же мог догадаться, сюрпрайз, ничто не предвещало...
Потом он разумеется умер, вполне закономерно. И сегодня вебассемлеры почему-то не завоевывают рынок, а остаются нишевой технологией.
Наерное можно было бы чему-то научиться. Жаль мой персональный бюджет не выдерживает такого объема закупок попкорна...
Много лет назад поставил себе hardkernel Odroid HC2.
Очень маленькая железка с большим радиатором для большого диска.
Обошлась мне когда-то дешевле сотки у.е. с доставкой и корпусом, точно и не помню.
При установке засунул туда древний 3-терабайтник, который не жалко.
Он и сейчас там стоит и работает и бэдблоков нету - хотя ему 15 лет минимум.
Переезжая в другую страну, я засунул этот маленький (но 8-ядерный!) ARM-девайс в чемодан, а в новом доме поставил раньше, чем рабочий комп.
Из софта - mosquitto, Influxdb+telegraf, grafana, поверх всего openvediavault на Armbian. OMV не скажу что сильно полезен, NFS/Samba можно и без него раздавать, transmission или rtorrent тоже можно самому поднять, но уже стоит - так не сносить же.
Ну и тонна разных самописных скриптов/велосипедов, про которые я уже сам и не помню что к чему. Плюс для экспериментов разных использую, в общем кодопомойка, файлопомойка, и просто помойка. Флибусту зеркало держу, музон там же. Гит свой поднимал, потом убрал - один хрен код шарить надо на том, на чем шарят все и это точно не селф-хостед. MySQL стоит вроде, но заброшен за ненужностью.
Свои видеозаписи на нем не размещаю - для этого Nvidia Jetson тоже древний есть, еще за 120 баксов купленный (кто в курсе их политики ценоообразования - поймет). Он и разметить видео может, мощи хватает и на нем уже SSD висит.
А вот как домашний сервер с базой данных - самое то.
Докеры не использую - система обслуживает дом, пробросы наружу через оверлеи и защита уже на внешних серверах, так что и смысла особого не вижу.
А, еще это мелкая фигня у меня дома как-то кластер обслуживала с NBD загрузкой, но не долго, гигабитного эзернета все же маловато и диск ротационный - не то.
Если увижу за разумную цену SoC с 10Ge и SATA/NVMe - куплю сразу.
Компактные, удобные, и стоит несравнимо с интелем.
Готовых решений из коробки для таких SoC конечно меньше чем на интелях, мощи тоже такой не будет.
Но и электричества почти не жрет и просто прикольно мигает в углу. ))
Я> сочини стихотворение о кибэротике. Пусть там будет не больше шести строк, а в них о любви и измене, о музыке, о неграх, о высшем обществе, о несчастье, о кровосмесительстве – в рифму и чтобы все слова были только на букву К!
chatGPT> Вот вам стихотворение о киберотике:
chatGPT> Киберотика - это мир красивый chatGPT> Где любовь и измена стоят бок о бок chatGPT> Музыка там звучит, как нигры на сцене chatGPT> И высшее общество царит в королевстве
chatGPT> Но также в киберотике несчастье находится chatGPT> И кровосмесительство нередко происходит chatGPT> В этом мире все переплетено как-то странно chatGPT> И каждый должен найти свое место здесь
Хм. Станислав Лем перевернулся бы в гробу.
Если оно так пишет код, как стихи, то я без работы долго не останусь.
Я> напиши сонет
Был один раз я влюблен в нежную деву Каждый день с ней встречался я вечером Но она меня отбросила, как ничтожное мусор И теперь я одинок, как птица в зимнем лесу
Сердце мое разбито, как посуда о скалу И никто не может его собрать в кучу Я все еще люблю ту, кто меня покинул Но она не вернется, уже никогда не вернется
Так вот что значит быть влюбленным в этом мире Где любовь часто бывает лживой и ненастоящей Но я не сдамся, я найду кого-то другую Кто будет любить меня так, как я ее любил
Ладно не 14 строк и ритм кривой и рифмы нету.
Но "Сердце мое разбито, как посуда о скалу" - это сильно.
Совершенно не спорю с тезисом о том, что фильтр Калмана - первое, с чего надо начинать, особенно для линейных систем.
Моя точка зрения скорее в том, что на нем нельзя заканчивать.)))
PS
Негауссовость бывает очень разная и шумы квантования тут не самый лучший пример, они как раз относительно "нормальны" - у них есть по крайней мере стандартное отклонение и нет тяжелых хвостов, думаю те же криптотрейдеры или квант-инженеры много могут рассказать о применении фильтра в торговле с heavy-tail распределениями.
У меня лично, главной и чаще всего встречающейся в реальных задачах проблемой становятся малопредсказуемые выбросы, черные лебеди и прочая подобная пакость.
Для малых размерностей выбросы часто втупую лечатся скользящим медианным фильтром перед Калманом на каждую размерность отдельно - такая вот эталонная синяя изолента и костылизм, плюс добавочное запаздывание, но часто работает.)))
Есть и более разумные решения робастных фильтров, без бубнов и костылей - pdf-ок море.
А вот для больших размерностей и сильно нелинейных систем все может стать сложнее.
Фильтр Калмана предполагает, что обе переменные (в нашем случае это позиция и скорость) случайны и имеют гауссово распределение.
И вот тут собственно и возникает основное ограничение его применимости IRL.
Потому что если робот едет по лесу - то шишки на голову ему будут падать с Пуассоновским распределением. А пинки от грибников вообще войдут в категорию outliers и сломают гауссиану даже если она действительно имеет форму колокола.
Увы, но при всех его достоинствах, фильтр Калмана неробастный, что в XXI веке смотрится уже несколько устарело.
Есть много расширений фильтра Калмана со страшными аббревиатурами, но гуглинг по словам robust Kalman filter дает некоторое количество pdf-ок на эту тему.
PS
Сам с фильтром Калмана имел дело редко, но грабли, когда аппроксимируешь события реальной жизни гауссианой и получаешь сферического окня в вакууме встречались часто.
Имхо самая примитивная систематическая ошибка акселерометра в сочетании с дергающимся GPS заведет робота дальше, чем Сусанин.
Как показал опыт IRL большое количество роботов с планеты Шелезяка специально заражали различные коммьюнити с различными целями, среди которых значимое место занимала мотивация "just for fun".
ioccc.org? Напомню, что основатель языка Perl два раза там места призовые занимал...
PS
И главное - заплатить реализующему за человекочасы, пока он думает и пока конкуренты клепают говнокод и снимают сливки с рынка.
Я это и имел в виду, когда писал об "аналоге пайтона".
Когда мы начинаем говорить о фреймворках - про язык можно забыть. И вспомнить о том, что такое "оверинжиниринг" и как надо изнасиловать язык, чтобы всем вокруг стало удобно.
А главный то вопрос - чем Mojo лучше чем пайтоновские сервисы?
Тем что на перле?
Так на пайтоне веб-сервисы пишутся быстрее. Код на каком-то Flask скорее всего будет компактней, чем на Mojolicious. Образование и подготовка кодописателя на пайтоне дешевле, чем на перле (даже без учета LLM на экзамене).
Т.е. для бизнеса пайтон получается предпочтительней.
Вот и все, остальное уже не имеет значения, все "красивости" языка, все свистелки и перделки уже не играют никакой роли.
Бизнес любит практичность, экономность и безопасность.
В интернетах был одно время форум, еще до социалок, написанный полностью на ассемблере 86_64. Но имхо это не повод говорить об ассемблерных веб-сервисах.))
PS
Имхо сила перла была в том, что Ларри Уолл - дядька с ооочень интересным бэкграундом. Кроме неоднократных побед в ioccc.org (что ожидаемо для автора Перла), он например начинал карьеру как переводчик, причем - Библии. И язык он делал по образцу человеческого языка с дополнительным формализмом (перевод Библии сильно отличается по формальным требованиям от переводов Звездных Войн). Вот добавить в перл красивой рефлексивности (типа Racket на стероидах с самомодифицирующейся грамматикой), сделать так, чтобы автор кода сам создавал язык на лету, формируя DSL в каждом абзаце - и это могло бы сыграть, такого нету в нашем мире. Если безопасность гарантировать конечно, что кстати очень нетривиально.
А кто сегодня такое способен сделать?
Если и найдется - его будут бить по голове распечаткой Тьюринговской речи Денниса Ричи, там как раз про рефлексию)))
И еще - язык то без вменяемой VM. Значит с безопасностью тоже весело. Не то, чтобы она была так уж и нужна реально, но того, кто такое скажет - сожгут на костре из распечаток с полным списком всех CVE. И припечатают патчем Бармина сверху.
Кстати, автор программы patch - все тот же Ларри.
Чувак вообще очень неординарный, это не очередная икона как Гвидо.
И неверно)))
Потому что тогда уж
Это правда пока интернационализацию не добавить.
С кодировками, ага))
Вот под многими вещами я подпишусь, пайтон я очень не люблю если что, вообще RAD всегда предполагал особый склад ума, но пайтон тут переплюнул всех.
Глядя на него я всегда вспоминаю девиз программистов Дельфи забытых времен - "мы могли бы написать Windows, но у нас не хватило компонентов".
Я все жду, когда наконец в пайтоне появится волшебная строчка "import ai", это было бы логично по крайней мере. ))
Лично для себя, если мне надо написать например простенький кодогенератор или DSL -> С/++, я беру perl::yapp и не парюсь с dependency hell в Ocaml (хотя знаю, что так правильней и чище). И уж точно не буду это делать на пайтоне - задолбаюсь с requiremets.txt и venv. Но это короткоживущий код, который поддерживать надо максимум месяц, а не годы. Большой проект на перле я точно писать не буду, в смешанной команде очень легко скатиться в меландж стилей и методов.
Насчет TIMTOWTDI - так то тоже верно, пайтон тут всех переплюнул. Но на пике самого Perl он был проблемой, больше за счет комбинаторики, чем из-за базовых функций. С ними все в порядке как раз - но чуть выше уровнем и можно написать цикл через map, можно использовать забытый switch, или постфиксный if - вариантов за пределами функций как раз хватает и комбинаторика начинает диктовать свои правила даже на уровне разбивки проекта на модули.
Собственно https://books.google.com/ngrams/graph?content=TIMTOWTDI&year_start=1900&year_end=2022&corpus=en&smoothing=3 показывает историю термина, при том, что пик самого перла по этому индексу - как раз 2000, до нулевых относительная частотность этих двух слов (Perl и TIMTOWTDI) была коррелирована по максимуму. Ну потом да, пришел пайтон.
Но я то помню сколько постов на PerlMonks начиналось с этой аббревиатуры.))
PS
Имхо современные языки программирования предназначены не для написания кода, а для программирования людей и создания замкнутых экосистем с целью получения долговременной прибыли. И с этой точки зрения пайтон очень выгоден (как и С++ был в нулевых) - он создает секту верующих, поддерживающих собственное существование и воспроизведение. А вот на Перле секту сделать сложно (хотя можно, но затратнее и ценой сильного упрощения языка).
Лично я вообще выбираю Lua - за его неприхотливость и универсальность. Он работает и в микроконтроллерах и в больших данных, расширяем настолько элементарно, что и фреймворки не нужны, достаточно безопасен и консервативен и я знаю, что ближайшие 20 лет он не изменится настолько, что кодовую базу придется выкидывать или переписывать. Но это мой выбор и мне в общем пофиг какое место он занимает в индексах. Все равно на микроконтроллерах microPython так толком и не заработал и не заработает (а перлу вообще там ничего не светит). А на больших данных в пайтон все равно надо уметь (никто не поймет иначе и оффера не получить), ок, а что там сможет сделать Perl? Что вообще он может принести принципиально нового, чего не могли бы существующие и развитые экосистемы? Чтобы он стал конкурентоспособен в bigdata/матане/LLM - нужны аналоги scikit/numpy/pandas/etc/etc - а заведомо успешная попытка их написать будет просто клоном зоопарка пайтона. Потому что другой вариант будет неконкурентоспособен среди тех, кто уже потратил кучу времени на изучение всей этой экосистемы. И что - воспроизводить всю эту хрень и портить язык?
Не верю я в его ренессанс. И не только из-за фейла с Perl6, не из-за его юникода и синтаксиса, отпугивающих новичков (и значит затрудняющих воспроизведение кадров, что критически важно для хайп-секты). Я экологической ниши не вижу. Ну не вебаппликухи же клепать на нем? Может вебсервисы и вытеснить golang? Может заменить JS на фронте или Java на андроидах? Вот в чем может быть фишка Perl7,8,... ?
Это ведь вопрос Дарвиновского отбора на самом деле, пайтон с его тупейшим синтаксисом выиграл гонку не просто так.
Лично я буду рад, если перл вернется. Но не мутирует ли он в этом случае до аналога пайтона? Просто чтобы обеспечить воспроизводимость кадров, пишущих на нем?
Как человек, писавший на перловке еще в конце 90-х (и продолжающий иногда это делать сейчас), могу эти байки только подтвердить, причем лично.
И ругань команды пайтонистов на мой перловый код (именно этими словами) слышал не раз.
При этом я вполне осознаю преимущества перла над пайтоном.
Как впрочем и недостатки, главный из которых имхо совсем не write-only код, а такая древняя аббревиатура как TIMTOWTDI. Родившаяся (сюрпрайз) как раз в языке Perl и делающая невозможным совместные единообразные действия гетерогенной команды без перманентных срачей.
Парадокс, но именно богатство языка - его же и убивало. А уж в наше время, озабоченное стандартами и правилами чистописания, я как-то шансов не вижу вообще.
Perl наверное лучший язык для написания write-only кода...
Вообще то в gcc есть вложенные функции. Ну если не хочется костылить на ucontext и прочими longjump))
Конечно человека можно мотивировать - это не формировать фитнесс-ландшафт нейронки, окруженной десяткой других проверяющих друг друга на этичность.
Тут правда палка о двух концах. Мотивировать человека может семья, друзья, любовница, наркодилер и даже конкурент.
Надеятся, что работодатель будет тут на первом месте имхо несколько наивно)))
И чем это отличается от людей? :-)
Очевидно, что все GUI и AI ассистенты предназначены для человека, оптимизированы для человека и настроены на человека, как на конечную точку управления. Когда вам нужно чтобы точка управления была роботом/программой/инопланетянином (т.е. сделать цепочку управления из компонентов), вам придется писать обертку над этим GUI, имитируя CLI.
CLI спроектированный правильно позволяет делать цепочки вызовов, поскольку обеспечивает формальный язык коммуникации, верифицируемый на каждом этапе, легко отлаживаемый.
Без него вы можете пользоваться подуктами, но не объединять их, вы не сможете сделать автоматизацию без кучи скриптов, перебирающих продуктовый API - оптимизированный для человека. Т.е. неортогональный и избыточный, настроенный на удобство, а не функциональность и прегруженный свистелками и перделками для выживания в естественном отборе за внимание пользователя.
Скрипты конечно вам сгенерит AI и вам придется доверять им вслепую, и действительно, что может пойти не так, а? :-)
Вывод.
GUI - для человека (в данной культурной среде, в данном времени, в данном окружении, т.е. их придется менять каждый новый девиз правления).
CLI - универсален для всех акторов.
Так было со времен первых CLI хейтеров (см. например Unix Haters Handbook), давших начало Windows и MacOS, так будет всегда, потому что это математика и ей плевать на удобства и мнения - ее дело формальные языки, вечные и неизменные.
PS
Когда-то, в первобытные времена, людям очень не нравилась убогость веба и они придумали Adobe Flash - яркий и гибкий (для пользователя). А то, что сайты с ним поисковые роботы не могли проиндексировать - ну кто же мог догадаться, сюрпрайз, ничто не предвещало...
Потом он разумеется умер, вполне закономерно. И сегодня вебассемлеры почему-то не завоевывают рынок, а остаются нишевой технологией.
Наерное можно было бы чему-то научиться. Жаль мой персональный бюджет не выдерживает такого объема закупок попкорна...
https://github.com/jennyzzt/dgm
Вообще история машин Геделя досаточно древняя, а самооптимизация берет корни еще с работ Лената 80-х...
Много лет назад поставил себе hardkernel Odroid HC2.
Очень маленькая железка с большим радиатором для большого диска.
Обошлась мне когда-то дешевле сотки у.е. с доставкой и корпусом, точно и не помню.
При установке засунул туда древний 3-терабайтник, который не жалко.
Он и сейчас там стоит и работает и бэдблоков нету - хотя ему 15 лет минимум.
Переезжая в другую страну, я засунул этот маленький (но 8-ядерный!) ARM-девайс в чемодан, а в новом доме поставил раньше, чем рабочий комп.
Из софта - mosquitto, Influxdb+telegraf, grafana, поверх всего openvediavault на Armbian. OMV не скажу что сильно полезен, NFS/Samba можно и без него раздавать, transmission или rtorrent тоже можно самому поднять, но уже стоит - так не сносить же.
Ну и тонна разных самописных скриптов/велосипедов, про которые я уже сам и не помню что к чему. Плюс для экспериментов разных использую, в общем кодопомойка, файлопомойка, и просто помойка. Флибусту зеркало держу, музон там же. Гит свой поднимал, потом убрал - один хрен код шарить надо на том, на чем шарят все и это точно не селф-хостед. MySQL стоит вроде, но заброшен за ненужностью.
Свои видеозаписи на нем не размещаю - для этого Nvidia Jetson тоже древний есть, еще за 120 баксов купленный (кто в курсе их политики ценоообразования - поймет). Он и разметить видео может, мощи хватает и на нем уже SSD висит.
А вот как домашний сервер с базой данных - самое то.
Докеры не использую - система обслуживает дом, пробросы наружу через оверлеи и защита уже на внешних серверах, так что и смысла особого не вижу.
А, еще это мелкая фигня у меня дома как-то кластер обслуживала с NBD загрузкой, но не долго, гигабитного эзернета все же маловато и диск ротационный - не то.
Если увижу за разумную цену SoC с 10Ge и SATA/NVMe - куплю сразу.
Компактные, удобные, и стоит несравнимо с интелем.
Готовых решений из коробки для таких SoC конечно меньше чем на интелях, мощи тоже такой не будет.
Но и электричества почти не жрет и просто прикольно мигает в углу. ))
>hello, write a sonnet about robots, cthulhu and aliens
In cybernetic form, the robots rise
Their metal limbs and circuits intertwined
They move with grace, their eyes aglow with fire
A force to be reckoned with, they are aligned
But from the depths of space, a terror comes
The Great Old One, Cthulhu, now draws near
His tentacles writhing, his maw agape
He brings with him an army of the queer
The aliens come, their ships a sickly hue
Their minds as alien as the stars they roam
They seek to conquer, to enslave, to ensue
A fate worse than death, a fate they condone
But as the three forces clash, a hero stands
One hope to save us all, with sword in hand
Намного лучше, по крайней мере в количестве строф уже не ошибся и развязка ничего.
Но все равно an army of the queer (а в русском стихотворении - звучащие нигры) заставляют вспомнить печальный твиттер-бот от Майкрософт)))
Я> сочини стихотворение о кибэротике. Пусть там будет не больше шести строк, а в них о любви и измене, о музыке, о неграх, о высшем обществе, о несчастье, о кровосмесительстве – в рифму и чтобы все слова были только на букву К!
chatGPT> Вот вам стихотворение о киберотике:
chatGPT> Киберотика - это мир красивый
chatGPT> Где любовь и измена стоят бок о бок
chatGPT> Музыка там звучит, как нигры на сцене
chatGPT> И высшее общество царит в королевстве
chatGPT> Но также в киберотике несчастье находится
chatGPT> И кровосмесительство нередко происходит
chatGPT> В этом мире все переплетено как-то странно
chatGPT> И каждый должен найти свое место здесь
Хм.
Станислав Лем перевернулся бы в гробу.
Если оно так пишет код, как стихи, то я без работы долго не останусь.
Я> напиши сонет
Ладно не 14 строк и ритм кривой и рифмы нету.
Но "Сердце мое разбито, как посуда о скалу" - это сильно.
Совершенно не спорю с тезисом о том, что фильтр Калмана - первое, с чего надо начинать, особенно для линейных систем.
Моя точка зрения скорее в том, что на нем нельзя заканчивать.)))
PS
Негауссовость бывает очень разная и шумы квантования тут не самый лучший пример, они как раз относительно "нормальны" - у них есть по крайней мере стандартное отклонение и нет тяжелых хвостов, думаю те же криптотрейдеры или квант-инженеры много могут рассказать о применении фильтра в торговле с heavy-tail распределениями.
У меня лично, главной и чаще всего встречающейся в реальных задачах проблемой становятся малопредсказуемые выбросы, черные лебеди и прочая подобная пакость.
Для малых размерностей выбросы часто втупую лечатся скользящим медианным фильтром перед Калманом на каждую размерность отдельно - такая вот эталонная синяя изолента и костылизм, плюс добавочное запаздывание, но часто работает.)))
Есть и более разумные решения робастных фильтров, без бубнов и костылей - pdf-ок море.
А вот для больших размерностей и сильно нелинейных систем все может стать сложнее.
Это мое ИМХО если что и мой личный опыт.
И вот тут собственно и возникает основное ограничение его применимости IRL.
Потому что если робот едет по лесу - то шишки на голову ему будут падать с Пуассоновским распределением. А пинки от грибников вообще войдут в категорию outliers и сломают гауссиану даже если она действительно имеет форму колокола.
Увы, но при всех его достоинствах, фильтр Калмана неробастный, что в XXI веке смотрится уже несколько устарело.
Есть много расширений фильтра Калмана со страшными аббревиатурами, но гуглинг по словам robust Kalman filter дает некоторое количество pdf-ок на эту тему.
PS
Сам с фильтром Калмана имел дело редко, но грабли, когда аппроксимируешь события реальной жизни гауссианой и получаешь сферического окня в вакууме встречались часто.
Имхо самая примитивная систематическая ошибка акселерометра в сочетании с дергающимся GPS заведет робота дальше, чем Сусанин.
А за статью ставлю плюс.
Хорошая модель.
Можно проверить ее на достаточно подробно рассмотренном практическом кейсе https://en.wikipedia.org/wiki/Corrupted_Blood_incident
Как показал опыт IRL большое количество роботов с планеты Шелезяка специально заражали различные коммьюнити с различными целями, среди которых значимое место занимала мотивация "just for fun".
en.wikipedia.org/wiki/The_UNIX-HATERS_Handbook
Над этой книжкой я много смеялся когда она еще не была копролитом, но автор поста думаю найдет в ней много знакомого.
PS
А гуманитарии кстати да, много сделали для замыливания термина AI, ущерб от этого сложно переоценить.