Я увлекаюсь историей, и иногда, когда читаешь какую-нибудь историческую книгу, хочется ещё больше проникнуться духом эпохи, посмотреть «вживую» на костюмы, битвы, лица интересующего периода времени и страны. Поход в музей — хорошее решение; другой вариант: поиск картин и музыки, характеризующих эпоху. Можно посетить фестиваль исторической реконструкции, если такой проводится рядом. Есть и возможность посмотреть фильм. Но есть проблема — исторические фильмы часто довольно унылы, условны, и они никак не отражают дух эпохи. В этом пополняемом посте я собрал коллекцию лично просмотренных фильмов, которые можно смело рекомендовать. Они лучше других в плане историзма и художественной ценности.
Продолжить чтение →Dynalist — идеальная программа для структурированных заметок
В блоге я уже писал о разных программах для ведения заметок, записи лекций, составления списков и т.п., но вот к какой схеме я (пока) пришёл. Для долгосрочного хранения данных я пользуюсь OneNote, для ведения списка дел Todoist (TickTick и Microsoft ToDo наступают ему на пятки, но пока он выгодно отличается отличной стабильностью и удобным интерфейсом). Для конспектов и быстрых записей я пользуюсь Dynalist.
Эта программа очень удобна, так как позволяет вводить данные, не заботясь о расстановке тэгов, проектов, не выбирая подходящей категории или блокнота. Когда нет времени, нет желания отвлекаться на всю эту обвязку, но в то же время хочется хотя бы минимально структурировать вводимые данные — Dynalist тут незаменим. Он умеет отлично синхронизировать данные между разными устройствами. Для ведения конспекта лекций по информационным технологиям очень полезна поддержка разметки текста. Вообще, Dynalist — это список бесконечной вложенности. То есть для внесения новой заметки вам нужно только выбрать родительский узел для нее и начать писать. Далее со списками можно проделывать разные групповые операции: сортировать узлы, производить замену текста, присваивать теги, окрашивать в разные цвета, менять оформление, добавлять в закладки, перетаскивать узлы. Поиск в программе работает «на ура» по всем записям.
В принципе, Dynalist можно было бы использовать и для GTD, так как он поддерживает даты, время, и даже позволяет использовать сложные паттерны для повторяющихся событий. Однако, пока отсутствуют нативные нотификации для Android и IOs, да и групповая работа с узлами как с заданиями пока далеко не так идеальна, как в Todoist и аналогах. Но, я думаю, когда проект «подрастёт», его вполне можно будет применять и как систему заметок, и как GTD. А если разработчики улучшат загрузку файлов, чтобы, например, можно было использовать картинки прямо в заметках, и появится больше возможностей бэкапа данных, а также шифрование, то тогда можно будет избавиться и от Todoist, и от OneNote. Как говорится, продолжаем наблюдение.
Стамбул. Шесть лет спустя
Шесть лет назад я уже был в Стамбуле и подробно описывал свои ощущения от самого города, турецкой кухни, котов на улицах и т.п. Теперь дополню свой пост новыми впечатлениями.
Продолжить чтение →Турецкий остров Авша, рай для стамбульцев
Есть ли в Турции места, в которых турист из России воспринимался бы как нечто экзотическое, неожиданное? А много ли вы знаете обустроенных пляжных курортов, где это было бы правдой? Остров Авша — одно из таких мест. Русскоязычные там, конечно, встречаются и среди живущих на острове, и среди отдыхающих, но их так мало, что они легко теряются в толпах турок, для которых этот курорт «свой». Туристов из других стран там тоже почти не наблюдается. Кроме русских, нам встречались разве что немцы с болгарами. Итак, зачем же нужно ехать на Авшу?
Продолжить чтение →Использование констант в SELECT-запросах SQL
Любите ли вы «магические числа» в коде? Все эти if (a == 259)… Никто их не любит. И SQL-запросов это касается в той же степени, как и языков программирования. «Магические» числа делают код нечитаемым, любые изменения в нём будут головной болью, и нужно всегда избегать их, если есть такая возможность. Итак, у вас есть потребность написать SELECT-запрос. И в нём есть какие-то сравнения с константами или выдача неких заранее определенных констант по условию. В то же время, просто объявить их в тексте запроса у вас не получится, нет такой операции. К счастью, коллективный разум нашёл решение.
Продолжить чтение →Как добавить сразу две связанные по ключу записи в базу при помощи SQL
Если перед вами стоит задача добавить некое словарное значение в одну таблицу, при этом, значение первичного ключа может вычисляться автоматически (из sequence, например) и тут же создать еще одну запись в другую таблицу, так, чтобы эта вторая запись ссылалась на первую (например, имела ID новой записи из первой таблицы в одном из своих столбцов), возникает вопрос, где взять значение первичного ключа вновь добавленной записи.
Продолжить чтение →PHP и неизменяемость: объекты и обобщение. Часть 3
Это перевод оригинальной статьи Саймона Холивелла PHP and immutability: objects and generalisation — part three.
Первые две части смотрите здесь: PHP и неизменяемость. Часть 1 и PHP и неизменяемость: экземпляры, которые могут быть изменены Часть 2.
Продолжить чтение →Пособия по игре в сянци на русском языке
Русский любитель восточных интеллектуальных игр не избалован профильной литературой. Например, по сёги есть всего одна книжка Носовского, изданная в 2004 году и нигде, кроме нескольких библиотек, не встречающаяся.
Продолжить чтение →Как запомнить фигуры в китайских шахматах сянци
Если вы учитесь играть в китайские шахматы, и у вас не получается запомнить иероглифы, обозначающие фигуры, не беда — легко осилите. У меня были такие же сложности, и вот как я их преодолел при помощи мнемотехники.
Продолжить чтение →Стефан Цвейг о шахматах
Приведу одно из лучших высказываний о шахматах. Оно взято из «Шахматной новеллы» Цвейга. Цитата очень хорошо описывает суть игры. В общем-то, описание подходит не только к шахматам, оно отражает суть любой сложной интеллектуальной настольной игры шахматного типа, будь то сянци, сёги, макрук, или, например, го или рендзю. Достаточно «шахматы» в цитате заменить на соответствующее название игры.
Продолжить чтение →