Текущее рабочее, декабрь 2021

2021-12-29 14:26:26—2021-12-29 14:26:26

"Сахаров считает, что важную роль сыграл тот факт, что Шиханович незадолго до ареста подобрал на улице бездомного пса, и их фотография попала в западные газеты. По виду Шихановича с его новым другом можно было определить, что человек этот нормален, замечает Сахаров." https://snob.ru/selected/entry/40217/
(* напрашивается шутка про фото Шихановича и ПСА)

Книга: "Группы, Кольца, Решетки". Шиханович Ю.А.. У Шихановича, надо отметить, свой подход к алгебраическим структурам и как их вводить. Существенно отличается от того, как это обычно бывает в книгах по Теории Групп.

Ходят мысли, сделать небольшой сервис на сайте. Браузерный. Где можно собирать из необходимых свойств алгебраические структуры. Например: N, Z — множества, носители группойда. Операция -- умножение, сложение Свойства операций:

[Ссылка на таблицу со свойствами (google drive)] (https://docs.google.com/spreadsheets/d/1hPvCWIBFSde3Dv104dv09ZqzOOwSyyeXYMQ_uRaHNKo/edit#gid=0)

Решил посмотреть, что есть по алгебраическим структурам в javascript.

Оказалось есть, и вполне серьезно: http://www.tomharding.me/fantasy-land/

И в итоге, чтобы вообще вспомнить про js и затем функциональный js, намерен прошерстить классику

Зачем:

Любопытно: https://reasonml.github.io/ru

В итоге мысли с Шихановича быстро мигрировали в изучение функционального программирования js.

Когнитивная нагрузка (Cognitive load) Вопрос: Как увеличить (расширить) рабочую память?

зависимость системы от своего состояния — это один из самых важных компонентов её сложности (глава 3 )

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

есть вещи, без которых легко обходишься только до тех пор, пока не приобретешь их. (про каррирование)

Тут у меня возникла идея, в качестве тренировки начать переписывать движок pathway в декларативном стиле. Начинаю чувствовать мощь и изящность функционального подхода, пока очень поверхностно, но уже впечатляет. Особенно радует, что тут можно скрещивать два занятия: изучения математики (алгебры) и программирования. Причем навыки программирования вполне можно ипользовать в инженерии и бытовых проектах, т.е. совсем прикладных. Начал читать 6 главу И там как раз подходящие примеры для начала и как раз прощупаю ощущения на боевом примере.

Провозился очень долго с проблемой

"заблокирован Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin» "

Без проблем забирается .jsonp по ссылки стандартным методом jquery: $.ajax Но никак не получалось преодолеть данную ошибку методомgetJSON().

Думал дело в заголовках: прописал везде явные доступы к хедерам: напрямую в файле, в настройках апача и в .htaccess. Но не помогло. Пробовал в ссылках дописывать &jsoncallback=? -- но видимо такой у меня не простой источник .json. Потерял много времени, и это беспокоит, по этому пока решил не лезть разбираться как все в движке устроено, а решил использовать $.ajax. Просто не могу сейчас задерживаться на этой задаче долго.

Информационные источники через API wikidata:

Все Q сущности по поисковому слову (тут слово: 'madonna') https://www.wikidata.org/w/api.php?action=wbsearchentities&language=en&format=json&limit=10&search=madonna

Q в .json формате https://www.wikidata.org/wiki/Special:EntityData/Q42.json

Has Part (P527), тут уже будет sparql запрос:

https://query.wikidata.org/sparql?query=SELECT ?item ?itemLabel WHERE { SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } ?item wdt:P527 wd:' . $q . '. } LIMIT 100&format=json

Для ссылок не забыть про замену пробелов: $queryURL = str_replace(' ', '%20', 'https://query.wikidata.org/sparql?query=' . $s . '&format=json');

Далее полученный URL забираю через CURL:
function getUrlContent($url) { fopen("cookies.txt", "w"); $parts = parse_url($url); $host = $parts['host']; $ch = curl_init(); $header = array('GET /1575051 HTTP/1.1', "Host: {$host}", 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language:en-US,en;q=0.8', 'Cache-Control:max-age=0', 'Connection:keep-alive', 'Host:adfoc.us', 'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36', ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_COOKIESESSION, true); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $result = curl_exec($ch); curl_close($ch); return $result; }

Не забыл конвертировать в json: json_decode($data);

Claims (они собраны уже в моей базе данных)

Возможно придется сделать обновление, но думаю интересующие меня claims присутствуют

IMDP (P345) / q_by_imdb

$s = 'SELECT ?item ?itemLabel ?value ?valueLabel WHERE { SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } ?item wdt:P345 "' . $q . '". } LIMIT 10'; $queryURL = str_replace(' ', '%20', 'https://query.wikidata.org/sparql?query=' . $s . '&format=json');

Influenced to (P737)

$s = 'SELECT ?item ?itemLabel WHERE { SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } ?item wdt:P737 wd:' . $q . '. } LIMIT 100'; $queryURL = str_replace(' ', '%20', 'https://query.wikidata.org/sparql?query=' . $s . '&format=json');

Обнаружена БД YAGM с данными из IMDB

там есть около 7 500 00 тайтлов и другой инфы, пока можно на тесты вспомнить (тоже более 2-х лет назад, ничего не помню что это)

mgraph — вспомнить что бы это, есть подозрение на связь с API TMDB

Остальное: разные вспомогательные скрипты, типа загрузки .csv в БД и другие.

Не могу вспомнить, откуда у меня взялась таблица paths, где содержится 36 457 548 записей. Это невероятно, но кажется это все пути между узлами, до длины в 5. Неужели я писал такой скрипт, совсем не помню, но это было в ноябре 2019 года, там оказывается я умудрился добавить таймстампы. Это полезные данные, как раз мне на эксперименты для алгоритмам на графах.

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



in progress

Все записи