Category: литература

Category was added automatically. Read all entries about "литература".

flow

Пользовательские идентификаторы-литералы

Когда-то давно (15 лет назад) я делал наброски языка разметки текстов. С использованием квадратных скобок [] для тэгов и фигурных {} для ссылок на какие-либо термины. Фактически, как в Wikitext для ссылок используется синтаксис [[имя статьи]], так и там {термин} или {имя статьи}. Но проблема, побудившая меня на размышления о решении, была одноразовой (помогал коллегам с восстановлением/переносом интранет-портала), а далее решений и полурешений в этой нише стало достаточно, чтобы к этому не возвращаться.

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

Чаще всего это будет полезно для URL: {https://en.wikipedia.org/}. Другая библиотека может распознавать даты по ISO 8601: {2019-12-17}. Или IPv4 и IPv6: {127.0.0.1}, {::1}. Пути в файловой системе (с автоматическим контролем целостности данных), UUID, что угодно, пока нет противоречий между используемыми библиотеками. Вплоть до тех же {термин} или {имя статьи}, если это уместно.

И кстати, сюда же прекрасно помещаются идентификации по IEC 81346. На эту тему мы много спорили в чатах с ailev, который утверждал о необходимости поддержки IEC 81346 на уровне языка, что, на мой взгляд, превращает любой язык в нишевую самобытную игрушку для инженеров. Однако, использования различных {=J1=HE01} как ещё одного доступного способа идентификации (при использовании библиотеки, распознающей IEC 81346) решает это противоречие, фича для одних не мешает другим.

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

Данное решение не ограничено спецификой моих разработок, оно подойдёт для любого языка, где возможна работа пользовательских библиотек в compile time или (с меньшей надёжностью) используется динамическая типизация. Но в случае "все скобочки уже заняты" будет выглядеть чуть менее элегантно.
flow

Чтение 2018

Из читавшейся в прошлом году художественной литературы мне больше запомнились не конкретные тайтлы, а новый жанр - литрпг (LitRPG). Там же просто кладезь идей игрового дизайна и интерфейса, причём, промоделированных в контексте сюжета и баланса. Какие-то можно воплощать, другие "тут автор попутал, это работать не будет", но тоже создают хороший контекст для размышлений о более подходящих решениях. Но это моя профдеформация. А кому-то просто интересно читать про игроков (так же, как смотрятся прохождения игр на youtube).

В прочитанной же публицистике особенно зацепили две книги:

1. Yuval Noah Harari "Homo Deus: A Brief History of Tomorrow" (Юваль Ной Харари "Homo Deus: Краткая история завтрашнего дня"). Футурология - жанр на грани между фантастикой и реальностью, требующий от автора как хорошего понимания "здесь и сейчас", так и достаточного полёта фантазии в вариативности "завтра" (не повторения чего-то вроде "на дискету поместится библиотека"). Так что достойных книг в нём почти нет. Эта - редчайшее приятное исключение, хотя и менее крута, чем "Сумма технологии" Лема.

2. Jordan Ellenberg "How Not to Be Wrong: The Power of Mathematical Thinking" (Джордан Элленберг "Как не ошибаться. Сила математического мышления"). Несмотря на название, книгу с которым в магазине сразу поставят в раздел "популяризация науки", данное произведение не имеет ничего общего с работами клоунов вроде Гладуэлла. Это крепкая прикладная литература, в которой примеры и случаи из реального мира представлены не для удивления читателя, а в качестве моделей для применения математического аппарата, и историй его развития. Книга, способная не только наделить обычного человека знакомством с определёнными разделами математики и логики, но и улучшить связь математика с реальностью.
flow

Evernote

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

Но на винде-десятке не пашет Evernote 2, который у меня с 2007 года и с тысячей нужных заметок, включая постоянно используемые. За эти годы произошло многое, сначала удобная программка преобразовалась в монструозный облачный сервис с "offline будет, но потом и за отдельные деньги", затем этот сервис многократно видоизменялся, и на данный момент там всё же есть десктопный клиент, декларирующий возможность "local notebook", что смотрелось приемлемой заменой.

Однако, ни формат старых баз Evernote 2, ни формат XML-экспорта .enx (созданный специально "для совместимости" между версиями) новый Evernote не понимает. А "для совместимости" там теперь несовместимый с предыдущим формат XML-экспорта .enex.



Набросать скриптик для извлечения заметок из .enx я могу. А вот куда их потом - вопрос.

Чем вы пользуетесь из notetaking software?

Update: Также интересно, какие софтинки могут одновременно отображать несколько панелей с разными заметками? Есть Scrivener, но я не знаю, насколько удобно он совместится с моим привычным workflow (всё же основное его предназначение - CAD для писателей).
flow

Информация как стимулятор

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

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

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

Для меня листание даже не относящихся к "родным" темам научных/инженерных статей, чтение Азимова или просмотр удачной серии из Halt and Catch Fire могут быть триггерами перехода в технологически-продуктивное состояние сознания. Но есть и другие продуктивные состояния, со своими триггерами, а также терапевтические триггеры. Ещё с детства все они выбирались случайно/инстинктивно, значительно позже возникло понимание процессов.

Какие состояния благоприятны для вашей деятельности? Какая информация благоприятна для этих состояний? Можно выбрать подходящую и профит.

А ещё, случается и очень неблагоприятная информация. Школьная программа по литературе (была и, вероятно, осталась) переполнена триггерами на "спасайся, вокруг все идиоты" и "народное горе". И только целительная фантастика и научно-техническая литература защищали от этой дури.
flow

Паттерны часть 1: вредные

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

Сначала о плохих паттернах. Есть такой термин "design patterns" (шаблоны проектирования), изначально нейтральный, но в сфере разработки программного обеспечения имеющий особое наполнение и особую дурную славу.

Все люди разные. Кто-то лучше танцует, кто-то доказывает сложные теоремы. А психика некоторых позволяет в больших количествах выдумывать сложность на пустом месте. Бюрократы-законотворцы, стандартизаторы W3C, консультанты по CMMI, программисты-чемпионы по KLoC кода - это всё их ниши, где они могут в промышленных масштабах вредить человечеству, сохраняя полную уверенность в полезности своей деятельности.

Тема design patterns, начиная с одноимённой книги 1994 года, это ещё одна кормушка для таких людей. Передача функции сравнения в функцию сортировки или установка коллбэка - слишком просто. А если придумать термин "dependency injection" и убедить леммингов писать для этого отдельные фреймворки, то можно поднять денег на книгах, выступлениях и консалтинге. Разделяемое состояние для обеспечения какого либо функционала программы - что может быть проще? Но если его назвать "singleton pattern" и положить не в app.renderer, а в Bla.Bla.Bla.Renderer.getInstance(), а затем убедить леммингов в религиозной необходимости данного шага, то создаётся целый пласт новых проблем (ведь состояние становится бесхозным), которые можно изучать и усугублять десятками слайдов.

Тлен, безысходность и бесчисленные повторения многокода - вот вся суть design patterns.

Что же касается хороших паттернов, то о них будет следующий пост.
flow

Софт

Когда-то в 2007 году мне подкинули Evernote - типа супер-продукт, увеличитель пениса личной эффективности, содержит списки важных дел с галочками и прочий модный мусор, но при этом работающая система хранения заметок и фрагментов веб-страниц с таблицами/картинками. С тех времён пользуюсь как блокнотом. Скидываю то, что слишком мелко для отдельных документов. И статейки полезные. Это ведь как, интернет со временем протухает, где год назад была статья там может оказаться "домен кончился, автор удалён, контент хаброогорожен". Да и Evernote из отдельного продукта превратился в сервисозависимый клиент.

Для статей с сайтов теперь MAFF (https://addons.mozilla.org/en-US/firefox/addon/mozilla-archive-format/), так что эта часть не особо заботит.

А сегодня наткнулся на Scrivener. http://www.youtube.com/watch?v=-DthBJhBrYs
Там уклон не в хранение мелких заметок, а в их интеграцию, написание книг, статей, документов. И это всё меняет. Когда включаю Evernote всегда кажется что "да, вот так удобнее чем отдельным текстовым файлом", но при этом чёткое ощущение, что продукт совсем не для меня, а для тех кому todo-листы на айфончик синхронизировать. А Scrivener он как мини-САПР для писателей. Сейчас пробую версию под винду, есди не будет нареканий по скорости/стабильности, то перенесу все актуальные записи туда.

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

Update: http://justy-tylor.livejournal.com/174636.html
tylor

пауза

Что-то на выходных забегался, простудился. На пару дней заменяю активность чтением/смотрением. Не только с монитора. А ещё, за эту зиму на полках появились:

1) "JPod" (Джей-Под) Дугласа Коупленда. Неплохое художественное чтиво про разработчиков игр. Что касаемо внешнего мира и социума - всё как обычно коуплендовское. А геймдев описан хорошо, реалистично. В жизни так и бывает. Сначала налаживаешь пайплайн для параллельной разработки нескольких проектов, а затем приходит решение "все ресурсы направить на шутер в стиле аниме, где персонажи разговаривают стихами".

2) "Деконцентрация" Олега Бахтиярова. Исследование вопросов восприятия и внимания. Очень сильная и базовая вещь, на уровне работ Перлза.

3) "Истории, рассказанные телом" Саши Гиршона (girshon). Дочитываю сейчас. Расширяются рамки осознавания Аутентичного Движения, особенно тема свидетелей. Снова вспоминается Хайнлайн, на этот раз беспристрастные свидетели из Stranger in a Strange Land.

Исчезло с полок, как обычно, раз в двадцать больше.
  • Current Music
    Anugama