?

Log in

No account? Create an account
Лабораторный журнал -- Day [entries|friends|calendar]
Anatoly Levenchuk

[ website | Лабораторный журнал ]
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

lytdybr [08 Feb 2015|01:29am]
В доме, наконец, перестало вонять гвоздикой. Вам никогда отрок не разливал на полочке среди мелких вещей гвоздичного масла? Ароматеррория.

Любимая песня у него на сегодня -- Five Nights at Freddy's, http://www.youtube.com/results?search_query=five+nights+at+freddy%27s+song. Эта песня стала главным предметом диспута с тёщей: он обвинил бабушку в пренебрежении музыкой 21 века, незнании современной культуры и попытках жить старым культурным багажом. Образцом новой культуры была как раз эта Five Nights at Freddy's. При этом поинтересовался у меня, когда была сделана песня Mambo #5 в варианте Disney -- оригинал в 1949, Lou Bega перепел в 1999, вариант Disney вышел в 2000. Это его очень разочаровало, он думал, что это будет хорошим аргументом в споре. Когда же выяснилось, что его любимая песня We Will Rock You аж 1977 года выпуска, а хорошо знакомая Twinkle Twinkle Little star это вообще мелодия 1761 года, то спор с тёщей как-то сам собой затих. Из-за чего же всё началось? Отрока тёща захотела приобщить к "Призраку оперы" вживую, этот мюзикл теперь в Москве идёт. Ага, щаз. Не на того напала! Я же на это всё смотрю сквозь пальцы, ибо в его годы я музыкой точно так же не интересовался (при абсолютно музыкальной семье).

Все домашние занятия его сейчас сводятся к письменному оформлению олимпиадных задач по математике и информатике (в 6-7 классе эти предметы неразличимы). Ибо решаются эти задачи относительно быстро, но нужно много-много упражняться на тему "как написать по каждой задаче страничку-две литературного текста решения с формулами, табличками и графиками, и не ругаться при этом перед, во время и потом долго после".

В "Граблях" на Новокузнецкой фестиваль азиатской кухни. Круто! Две трети меню заменено на "азиатскую кухню", которая там японская, корейская и китайская. Но вот в этом месте на Полянке всё одно более домашний вкус, причём с неменьшими кулинарными вывертами в кухни разных стран: http://iskusvkus.ru/kontakty.html. Но они не работают в субботу-воскресенье, а в обычные дни рано закрываются -- формат "рабочей столовой с изысками".

Вышла очень интересная камера Olympus OM-D E-M5 II, там фишка в возможности для неподвижных предметов со штатива снять кадр с разрешением 40Мпикселей без искажения цветов (муара) за счёт многократного экспонирования со сдвигом матрицы и последующих вычислений: http://www.dpreview.com/previews/olympus-om-d-e-m5-ii/4. Камера со всех сторон замечательная, разве что встроенной вспышки не хватает и 4К видео.

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

Я окончательно понял, что нужно сделать: курс "Введение в системную инженерию" я уже поделил на "Системноинженерное мышление" и "Практики системной инженерии". Сейчас же его нужно поделить ещё на два (далее все названия условные): "Системное мышление и деятельность" и "системноинженерное мышление". А потом дополнить "мышлением технологического менеджмента" и "мышлением операционного менеджмента". И затем уже может быть целая библиотечка книжек разных менеджерских и инженерных практик, опирающихся на эти "мышления". Это и будет возврат к PraxOS.
4 comments|post comment

Об Julia language [08 Feb 2015|06:02pm]
Сегодня в порядке воскресного развлечения поставил Juno+Julia (http://junolab.org/ -- это IDE Light Table + Julia), потрогал язык живьём. Эх, мне бы этот язык году так в 1977 (когда я начал заниматься распознаванием образов/image recognition, тогда так называлось machine learning), я был бы счастлив безумно. Но нет, приходилось работать на Fortran и PL/1 (ибо считал я тогда на EC-1022 главным образом). Для численного моделирования в этом языке есть всё и ещё чуть-чуть. Поддержка изнутри языка кодов LaTeX (ага, греческие идентификаторы -- не вопрос), встроенные типы комплексных и рациональных чисел.

Мои заметки:
-- всё работает с полпинка, но всё-таки глючит (так, у меня не показывает Image: ругается при попытке отображения -- похоже, не хватает каких-то файлов). Скорее всего, что-то я поставил не так и не туда.
-- исполняется всё неожиданно долго (как я понимаю, исполняется-то быстро, но вот какие-то компиляции "на лету" делаются каждый раз -- чуть ли не перекомпилируются все пакеты при каждом чихе. Ну, или опять же -- у меня всё криво настроено, и я не знаю, какое нужно выполнить заклинание, какое-нибудь Pkg.build -- но разбираться лень).
-- с другой стороны, критика Julia известна (она такая же, как для большинства других Open Source проектов: хочется пожаловаться на баги и недоделки, но непонятно на кого жаловаться и почему они обязаны вдруг встрепенуться и всё исправить). Вот типичная жалоба -- http://danluu.com/julialang/, вот примерное положение надёжности Julia среди многих других языков -- http://danluu.com/broken-builds/. Нужно отметить, что сам автор спец по тестированию. Вот его fuzzer для Julia: https://github.com/danluu/Fuzz.jl (http://en.wikipedia.org/wiki/Fuzz_testing). С надёжностью работают: очередной багфикс релиз по плану завтра, по факту "скоро" -- https://github.com/JuliaLang/julia/milestones, фичарелиз 0.4.0 "на полпути к победе" -- https://github.com/JuliaLang/julia/milestones/0.4
-- для учебных целей это гиперкрутая среда. Роскошно и шикарно. Это даже без notebooks из IJulia и коллаборативных возможностей https://colaboratory.jupyter.org/welcome/ (там, кстати, всё не остановилось и как-то живёт -- но развивается неравномерно по языкам и фичам: https://twitter.com/ProjectJupyter).

Поддержка библиотек (пакетов) в Julia супер: в язык встроено много чего для накопления знаний. Менеджер пакетов декларативный, с зависимостями разбирается сам. Язык знает про существование интернета, всё нужное подкачивает. И поддерживает тип литерала "номер версии" (http://julia.readthedocs.org/en/latest/manual/strings/), который представляет расширение для стандарта semantic versioning 2.0.0 -- http://semver.org/

Важно, что механизм позволяет не только хорошо использовать чужие пакеты, но и разрабатывать свои: поддерживается накопление знаний как собственных, так и команды, так и в мировом масштабе. Тут, конечно, дело не только в пакетах, но и в multiple dispatch (я писал об этом уже: http://ailev.livejournal.com/1140646.html -- это решение позволяет более-менее независимо пополнять типы данных и процедуры, разделить "программы" и "данные", т.е. иметь множество программ для обработки одних и тех же данных и множество данных для обработки одной и той же программой). Сам Stephan Karpinski заметил 20 декабря "How hard it is to explain how effective multiple dispatch is, is itself quite interesting" -- https://github.com/JuliaLang/julia/issues/8839 (заодно обратите внимание, какие весёленькие у этой команды issues в разработке).

Операторы в Julia -- это функции с синтаксическим сахаром. К ним вполне применим multiple dispatch. И метапрограммирование в количестве, язык отлично расширяется собственными средствами.

Сам язык не слишком маленький, плюс к нему даётся ещё куча библиотек. "Выучить" его нельзя, можно только к нему привыкнуть. Три месяца full time для перехода от "осваиваю" к "работаю" для неновичков в программировании -- это нижняя оценка. Увы, трёх свободных месяцев у меня нет.

Нормальной учебной среды с кучей задач и проверкой ответов, похоже, тоже пока нет. Курсов какого-нибудь machine learning с опорой на Julia тоже пока нет. Но язык хорош (и продолжает улучшаться), так что всё потихоньку появится.

Что интересно, так Julia до сих пор среди популярных языков не замечен (хотя R нынче 18й по популярности, между MATLAB и Pascal. Но это всё одно слёзы: все они уступают современной инкарнации Кобола -- ABAP, который резко рванул вверх и сегодня 16й среди всех языков, http://en.wikipedia.org/wiki/ABAP): http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (альтернатива http://redmonk.com/sogrady/2015/01/14/language-rankings-1-15/, и там R, Go, Julia все есть, и все мимо основного списка).
28 comments|post comment

navigation
[ viewing | February 8th, 2015 ]
[ go | previous day|next day ]