• Зипперы в Clojure (часть 1). Азы навигации

    Оглавление

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

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

    • перемещение по вертикали: вниз к потомкам или вверх к родителю;
    • перемещение по горизонтали: влево или вправо среди потомков;
    • обход всей структуры данных;
    • добавление, редактирование и удаление узлов.

    Read more →

  • Книга для читалки и телефона

    Рад сообщить, что теперь книга поддерживает устройства с небольшими экранами — читалки и телефоны. Чтобы добыть эту версию книжки, перейдите на ее страницу в Gumroad. Если вы делали предзаказ, введите код, который я сообщил в письме (а если не сообщил, пинганите). Если вы до этого купили бандл, Gumroad позволит скачать новую версию бесплатно.

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

    Read more →

  • Что там с рассылкой — 1

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

    Вы получили письмо с темой “Книга выслана: xxxxxxxx”, но код не отслеживается

    Это мой косяк. Дело в в том, что код из заголовка на самом деле не трек-код, а номер заказа в системе saferoute.ru. Чтобы узнать код службы, которая будет доставлять книжку, пройдите по ссылке и введите номер заказа. В следующем окне вы увидите службу доставки и ее трек номер.

    Некоторые агрегаторы вроде gdeposylka.ru по номеру заказа находят конечную службу и трек-номер, но это работает в половине случаев. Извините, что так вышло.

    Вы из Беларуси, но письма не было

    Издательство сообщило, что в системе СДЕК произошел сбой с отправкой в этом направлении. Сейчас все налажено, в четверг мне скажут треки, и я сообщу вам.

    Вы из России, но письма не было

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

    Вы из-за границы (не Россия, не Беларусь)

    Издательство не доставляет за рубеж, это буду делать я. Все аналогично — на этой неделе начну отправку Почтой России, треки скину. Текущей партии на всех не хватит, кому-то придется ждать второго тиража.

    Надеюсь, все получат свои книги. Если что, пишите, разберемся.

  • О дизайне и Dropbox

    Вчерашний пост о Dropbox был лишь затравкой. Я поработал с новым клиентом и подкопил интересный материал. Не столько про сам Дропбокс, сколько про дизайн в целом. Итак, поговорим о дизайне.

    Многие из нас рассуждают о дизайне: этот хороший, а тут плохой. У Эпла красиво, у Андроида страшно. Вопрос, который меня беспокоит: если отбросить привычки и инфантильные термины вроде “плохо” и “хорошо”, то как можно судить о дизайне? Мне кажется, я знаю ответ. Назовем удачным тот дизайн, где каждый элемент приносит пользу.

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

    Read more →

  • Интерфейс Dropbox

    У Никиты в статье Computers as I used to love them показана установка Dropbox. Легко заметить, что некогда удобный софт стал жирным монстром, где вместо одного клика нужно пять. Жаль, что Dropbox повторил судьбу Evernote и пал жертвой маркетологов и иже с ими.

    Недавно понадобилось кое-что с Дропбокса, и я поставил последний клиент. Прошел ад с миллионом экранов – это, конечно, жесть. И добавлю один важный факт.

    Дело в том, что Dropbox долгое время считали эталоном программы без интерфейса. В этом был его козырь, с которым он влетел с двух ног. Разве до Dropbox не было средств синхронизации? Были. Вот только Dropbox упростил процесс до минимума. Видишь папку? Кидай туда файлы, и они появятся в другом месте. Все на уровне операционной системы, копировать-вставить, перетащить мышкой. Не надо ни к чему привыкать. Да, было окошко с настройками, но обычный юзер туда не лазил — незачем.

    Вы будете смеяться, но в каком-то лохматом году я делал обмен репликами в 1C на базе Дропбокса. Один комп выгружал обновления в папку, второй подхватывал, как только они там появились. Затем наоборот. Работало!

    Очевидно, после ребрендинга в Dropbox взяли курс на уход от файловой системы. Теперь на любой чих открывается Электрон-приложение, похожее на очередной Slack или Teams. Это как бэ намек: вот новый гуй, бери, иначе отключим газ.

    Хорошо это или плохо, судить не нам. Прежняя модель была удобной, но, возможно, в ней бизнес вышел на плато-фазу, а деньги на шеф-повара нужны. Синхронизация файлов, в общем-то, вещь простая, и рано или поздно наступает насыщение. Все довольны, все работает, а поскольку Dropbox — не банк и не мобильный оператор, предложить ему больше нечего. Даже блокчейн не подключишь и машын лерниг. Кажется, они делали почтовый клиент, но закрыли его.

    Морали нет, просто наблюдение. Больше Dropbox не подходит на роль программы без интерфейса. Ушла эпоха.

  • Анонс книги на Хабре

    Разместил на Хабре анонс книги. Помогите вывести новость на главную.

  • Она такая твёрдая

    Такая же будет у вас, если закажете. Ещё не поздно.

  • О принятии решений

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

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

    Первое – моменты, когда вы не можете принять решение, нужно ценить. Это означает, вы вышли из зоны комфорта, продвинулись на территорию, где не были прежде. На самом деле не так часто бывает выбор, когда некому помочь, потому что сюда не попадают материальные блага. Так что самое лучше – не кусать ногти, а порадоваться: еще год назад такого выбора не было!

    Второе – опыт важнее успеха. Еще раз, только подробнее – опыт, который вы получите в результате выбора, гораздо ценнее успешного исхода. Предположим, вы ошиблись, и надо было поступить не так. Из этого “не так” нужно извлечь пользу – теперь вы знаете, как надо было, а другие не знают. Знание дает вам преимущество перед другими: можно написать об этом в блоге, выступить на конференции, а из множества “как” написать книгу.

    Третье – свершение выбора важнее его исходов, потому что свершение – это движение вперед. Даже если вы продвинулись не в том направлении, можно скорректировать курс. Это лучше, чем бесконечно сидеть на одном месте.

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

  • Страница книги

    У книги появилась выделенная страница. Всю информацию о ней – что это такое, где купить, благодарности – буду собирать в одном месте. Ссылку на нее вы можете шарить в соцсетях и месаджерах. Скоро сделаю анонс на Хабре.

  • Предзаказ книги

    UPD (2021 Mar 20): Принимаю заказы и сейчас, осталась небольшая коробка книжек. А если кончатся, напечатаю.

    UPD (2020 Dec 03): Финальная версия книги и вся информация о ней.

    TL;DR: анонсирую предзаказ книги. Чтобы получить ее на лучших условиях, сделайте следующее:

    • нажмите на кнопку оплаты Яндекс.Денег (ныне ЮMoney);
    • укажите ФИО, емейл, телефон и адрес доставки (ниже я объясню, зачем эти данные);
    • оплатите картой или из кошелька;
    • ждите доставки на указанный вами адрес.

    Сумма предзаказа 800 рублей. Сюда входит печать книги в твердой обложке (примерно 500 рублей) и доставка (300 рублей в среднем по России). Ожидаемая дата рассылки книг – через три недели.

    В поле “адрес” впишите индекс, службы доставки без него страдают.

    Подробности под катом.

    Read more →

Страница 6 из 53