Category: it

Mikail

(no subject)

https://sushilshik.github.io/javascript.html

Пример развития заметок по JavaScript в карту предметной области.

Из «Базы знаний», Гаврилова Т.А., Хорошевский В.Ф. (стр. 190-191): «Визуальные методы спецификации и проектирования баз знаний и разработка концептуальных структур являются достаточно эффективным гносеологическим инструментом познания.»
«...семантические сети или понятийные карты (concept maps) являются возможной формой представления (полей знаний). Это означает, что сам процесс построения семантических сетей помогает осознавать познавательные структуры.»

https://github.com/sushilshik/mm-vis-js

mm-vis-js_javascript
Mikail

(no subject)

Теперь код mm-vis-js лежит на холсте mm-vis-js. И собирает сам себя. В общем, IDE мечты. Визуальное метапрограммирование. А можно еще и статьи так писать, главы книг.

Чтобы работало локальное сохранение холста и сборка проектов кода на холсте — нужно поставить node.js и запустить «node mvj-serv.js» в директории mm-vis-js/utils. Описание в схеме «Как пользоваться mm-vis-js». Масса возможностей открывается, просто рук на все не хватает.

https://sushilshik.github.com

mm-vis-js_code
Mikail

(no subject)

mm-vis-js — редактор диаграмм связей, графов. Работает в браузере, как локально, так и в сети, без серверной части. Интерфейс сочетает визуальное редактирование и тектовый редактор кода схемы.

Теперь можно сохранять работу на страницах mm-vis-js. Список сохранений выводится прямо на холсте. Не нужно где-то логиниться или что-то скачивать. В браузере есть функция localStorage. Данные в localStorage хранятся и между перезагрузками браузера. В целом работает уже почти как десктопная программа.

Json-код схемы каждого сохранения можно посмотреть и скопировать. Основные его данные — список нод и связей между ними.

Получилось удобно, потому что работа с json представлением содержания холста специально вынесена в отдельный интерфейс. Можно изменять схему, редактируя json, то есть работать с графикой, как говорится, «по цифрам», а не только мышкой. Обновление схемы на основе json — уже есть, нужно было только еще сделать его сохранение и загрузку.

Чтобы сохранить, нужно кликнуть updateMenuFromScheme — json и в меню обновится, и сохранится в localStorage.
Чтобы выбрать, какое сохранение загрузить, нужно кликнуть по «Save/Load» в меню showData. Вид перейдет к списку сохранений на холсте. Клик на ноде с именем сохранения и клик на loadSavedProjectToMenu в меню слева.

mm-vis-js_save
Mikail

(no subject)

Новый интерфейс mm-vis-js. И примеры карт кода. Целиком код репозиториев (.c, .h, .cc, .py и т. п. файлы) Chromium, Firefox, ядра Линукс, Apache httpd, bash, Python, Emacs, gcc, texlive, vim, Visual Studio, Ruby, JDK, ghc, git, Hbase, Julia, mysql-server, neo4j, sbcl, Spark, spring-framework, Tomcat, vis-network, mm-vis-js. Список ссылок на карты в схеме «Карты программного кода».

Это, конечно, только вариант автоматической верстки кода. Масса возможностей открывается. Можно генерировать для каждого файла, каждого участка кода свои примечания, вспомогательную информацию. Например, историю изменений.

В современных IDE очень не хватает возможности редактировать блоки кода в таком виде на холсте.

В картах можно создавать ссылки для перехода к нужной точке карты с определенным масштабом просмотра. И добавлять примечания к коду прямо на холсте.

https://sushilshik.github.io — уменьшите масштаб, чтобы увидеть другие разделы.

2019-11-01_mm-vis-js

Пример карты 500 файлов кода chromium:

mm-vis-js_chromium_1

mm-vis-js_chromium_2

mm-vis-js_chromium_3
Mikail

(no subject)

http://www.nkbtr.org/down/mm-vis-js/code_examples/vis-network/vis-network_2019-10-30_19-13-59/vis-network.index.html
Пример карты кода.
Файл большой, поэтому может загружаться секунд 20.
Теперь можно в ссылке задать координаты на холсте, чтобы сразу открыть нужную точку. Это параметры scale, x и y в конце ссылки. Чтобы сохранить ссылку на текущий вид на холст в браузере, нужно нажать «updateMenuFromScheme» в правом меню, промотать его вниз и скопировать соответствующие параметры в ссылку. Работает без серверной части.

vis-network_project_code_map
Mikail

(no subject)

16 числа Столлман подал в отставку с поста президента Фонда СПО. Из-за в самом деле плохих слов о 14 лет. Если вся эта новость не большой розыгрыш, конечно. Всякое бывает.

Очень давно, еще в начале нулевых встретил статью о том, что дети находятся в особом психологическом состоянии детскости, в котором легче учиться, расти и развиваться. Преждевременный выход из этого состояния травмирует психику. Взрослые отношения и выводят из состояния детства. Потом иногда встречал эту мысль в статьях и книгах.

Я это интуитивно ощущал, и на уровне «так принято в культуре», и плюс к этому появилось объяснение.

Часто вспоминаю об этом объяснении и потому заметил, что уже, наверное, лет 5 я вообще не встречал его нигде вокруг. И раньше встречал очень редко.

И масса людей этой идеи может не знать. И Столлман технически мог никогда не встречаться с объяснением. Да и кто какой кусок знаний о реальности получил? По какой цепочке? И нет работы над ошибками, например, в IT-сообществе после истории с Столлманом.

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

Очень неприятно — если бы мне эти тексты по этой идее не встретились? (Тексты, в которых не только логика, но и «так принято» свое есть) Что бы я мог тогда сказать без знаний (а я и говорю постоянно... и вопросы задаю. А как иначе?)?

И опять никто никому ничего не стал объяснять. Никаких ссылок, статей, книг. Впечатление, что выгодно, чтобы в этическом плане не было развития. Вот это воспитание общества.

Может быть есть и некая гипотетическая патерналистская иерархия заботы в обществе? Вдруг. Но и коммерцию ведь тоже отсюда не выкинуть.
Mikail

Tabs Outliner

Для тех, кто открывает десятки вкладок в Google Chrome, выстраивающихся неразличимым рядом зубчиков наверху в панели заголовков и дико тормозят компьютер — есть замечательный плагин Tabs Outliner. Это как управление закладками, только вместо закладок табы браузера. Табы синхронизированы с деревом Tabs Outliner. Можно деактивировать таб — он закроется в хроме, но останется в дереве плагина. Активируется двойным кликом. Перетаскивая пункты в дереве — перемещаете табы в хроме и наоборот.

Очень удобно, чтобы составлять себе рабочие места для определенной работы. Например, дерево «Работа в соц.сетях» или «Доки для программирования текущего проекта». Или сохранять ссылки по дням, если каждый день начинать работу в новой ветке дерева с датой.

Гораздо удобнее, чем закладки — плагин автоматизирует массу ручной работы с закладками. Сбоит редко. Есть механизм внутренних автоматических бэкапов. Понятно, что все где-то читается, но так хоть легче работать. Прямо воздухом свежим вздохнул.

UgwzDbh

sangkrit.net-how-to-easily-manage-lots-of-tabs-from-a-central-place-in-google-chrome1
Mikail

VUE + Ruby

В VUE очень просто подключить jRuby. Будет как JavaScript в браузере. Также можно управлять элементами на холсте. Версия «на коленке».

1. git clone https://github.com/VUE/VUE.git
2. cd VUE/
3. git checkout tags/3.2.2
4. git checkout -b 3.2.2-work
5. wget http://nkbtr.org/down/jruby.patch
6. git apply jruby.patch
7. wget http://central.maven.org/maven2/org/jruby/jruby-complete/1.7.16/jruby-complete-1.7.16.jar
8. mv jruby-complete-1.7.16.jar VUE2/lib/
9. VUE2/src
10. ant compile
11. ant jar
12. java -jar VUE2/src/build/VUE.jar

Файл с примером кода и инструкцией: http://nkbtr.org/down/vue_scripting.vpk

Если файл в VUE не открылся сразу, откройте еще раз (повторите операцию).

Еще в 90-е появились приставки Visual в именах языков программирования. Например, Visual C++. И, помню, переговаривались на кружке программирования «а где же там этот Visual?». Только плечами пожимали. А представлялось что-то красивое.
Так вот этот самый Visual =) Ruby в программе для концептуального моделирования!

И можно ведь массу других языков подключить, для которых есть JVM-версии.

Всегда казалось, что чего-то не хватает графическому интерфейсу с нодами иконок на рабочем столе и в директориях. Так осталось же их только стрелками связей соединить =)

vue_script_example

vue_scripting
Mikail

Достижения современной эргономики

Как только в июне написал пост о языке «Дракон», так сразу решил составить обзор его редакторов.

Меня радует сам факт существования этого языка, соединяющего достижения 70-80-х и наши дни. Радуют редакторы языка. Вдохновляют программисты-авторы его редакторов.

Я был рад самой мысли о том, что я напишу этот обзор.

Так вот одновременно меня что-то с огромной силой останавливало.

Я бы это назвал прокрастинацией, если бы в июле я не выполнил уже массу подготовительной работы. Скачал и поставил программы из обзора. Поэкспериментировал с ними. Составил и заполнил таблицы с характеристиками программ. Накидал черновой вариант поста.

И давно бы уже на одном дыхании родился текст.

Но прошло больше месяца и у меня каждый день было ощущение, будто как только мое внимание замечало в памяти образы из этого обзора, например, детали программ, сценарии их применения — внимание отшатывалось и совершенно не хотело на них фокусироваться.

Я списывал этот факт на лень непонятного мне происхождения — ведь я уже много сделал для обзора.

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

Но это нормально для растущих проектов. И надо радоваться их развитию, и не предъявлять завышенных требований в их текущих фазах роста.

Так я думал. И потому не понимал, что же мне мешает начать? Почему не хочу? Что мне не нравится? Почему избегаю старта?

К концу месяца хотелось почти что биться лбом об стенку =)

Я даже завел маленький дневничок для более организованной работы над текстом.

В начале августа я уже от некоторого отчаяния решил в этом дневничке для себя расписать те моменты, которые могли вызывать у меня какое-либо неприятие этого обзора.

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

И я не ждал, что найду что-то новое.

Так вот — я успел расписать предложений 5-6 и тут меня осенило! =)

Одна из главных особенностей и достоинств языка «Дракон» в том, что он был специально оптимизирован с точки зрения эргономики работы с информацией.

Под эргономикой я подразумеваю науку эргономику. См. определение: «наука о приспособлении ... объектов труда, .... для наиболее ... эффективного труда работника, исходя из ... психических особенностей человеческого организма». В данном случае будем считать, что одним из объектов труда работника является визуальный язык «Дракон».

И с 80-х годов язык «Дракон» не был усовершенствован с учетом новых достижений в эргономике 90-х, нулевых и уже наших десятых годов. Не оптимизирован с учетом современных открытий в сфере «психических особенностей человеческого организма».

А мы живем в эпоху широкого развития нейронаук, в эпоху активной практической работы над нейроинтерфейсами. Вроде бы =)

Я понял, что меня крайне огорчает несоответствие достижений в сфере эргономики и общей ситуации с редакторами этого языка. Я ведь собираюсь активнее пользоваться такими инструментами.

Но обвинять тут некого, потому что мне, например, вообще не встречаются тексты по оценке современных IT-инструментов с точки зрения современной эргономики.

Например, «отраслевые» обсуждения вращаются вокруг отступов, подстветки синтаксиса, синтаксического «сахара» и т. п. В IT изданиях и форумах я не встречал материалов о системной, основательной работе над языками программирования и сопутствующими инструментами с точки зрения эргономики. Я представляю себе такие статьи полные таблиц, графиков, описаний принципов современной эргономики, прототипов кода отвечающего ее требованиям.

Например, языки Java и C# - продукты крупных корпораций. Но тем не менее и там не видно активной публичной работы по внедрению разработок из сферы современной эргономики в эти языки, в окружающую их инфраструктуру.

А раз крупные игроки отрасли не подают пример такой работы, то неудивительно, что отдельным разработчикам сложно начать на пустом месте, в одиночку, без живого сообщества.

Получается, что хоть эргономические апгрейды языка «Дракон» родом из 80-х, но популярные отраслевые языки в плане принципов эргономики все еще, думаю, находятся на уровне 60-70-х. И «Дракон» все равно оказывается впереди.

В целом, у языка «Дракон» и его редакторов, уверен, большие перспективы и запас развития. Уверен, интеграция в них новых разработок из эргономики будет очень плодотворной.