Забавный случай на пути к шаверме Санкт-Петербурга

Наткнулся я на днях на изумительный гид по прикладным местам города Санкт-Петербурга (осторожно, нехорошие слова!).

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

Но, что намного интереснее, некоторые места оттуда я уже посетил! А любой человек знает, какой кайф узнать из третьих рук отзыв о месте, где ты когда-то был.

В частности, речь там шла про заведение Falafel King на Загородном проспекте (именно там, в хостеле «Номера на Загородном», находился штаб осеннего путешествия). В том заведении работал (а может, до сих пор работает) кудесник шаверменных дел и по совместительству двойник Филиппа Киркорова. В процессе поедания блюда №1 чуть не погрыз пальцы, настолько вкусно.

В следующей поездке (она, между прочим, состоится не только по Ленинграду, но и по Москве) буду бдительно сверяться с гидом.

P. S. В Москве — шаурма. В Питере — шаверма. А вот в Твери (которая находится между) — шаварма. Хитрые.

Теги: спб, гид, шаверма
Секрет Self в Swift

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

Я говорю о вызове статического метода из расширения протокола или определении метода протокола, который должен вернуть конечный тип (eventual type). Всё это является частным случаем позднего статического связывания, о котором всякий может нагуглить достаточно материала.

В случае с банальными статическими методами внутри класса или структуры всё просто — метод легко вызвать по названию типа или вызвать функцию type(of: self), которая вернет текущий тип, у которого уже можно вызывать статические методы. Однако если конкретного типа еще нет, а есть только протокол и/или его расширения (то бишь метатип), то язык не даст нам этого сделать, ведь протокол не может содержать реализации, а расширение протокола не считается конкретным кодом, и мы получаем ошибку Static member 'staticMethodName' cannot be used on protocol metatype 'ProtocolName.Protocol'.

Решением является использование ключевого слова Self (именно с большой буквы), которое является указателем на конечный тип, который реализует протокол. В официальной документации языка есть только одно упоминание этого ключевого слова:

In that [protocol] context, Self refers to the eventual type that conforms to the protocol.

Соответственно, работает это ключевое слово только в метатипах (протоколах и их расширениях), а в конкретных классах или структурах вы получите ошибку Use of unresolved identifier 'Self'.

P.S. Всё сказанное относится к Swift версии 3 и 4, и вполне может измениться в будущем. Я постараюсь не забыть обновить статью, если что-то изменится (а оно может измениться, как мы все знаем).

Теги: программирование, swift, self
Правила пользования блогом

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

  1. Это не фотоблог, как может показаться. Просто, очевидно, фотопосты писать проще всего, так как фотографировать — это не мешки ворочать, а текст у меня (СЛАВА БОГУ) рождается в муках.
  2. Блог пишется мною, и исключительно левой ногой. Означает это то, что для его наполнения мне необходимо вдохновение. Поскольку за это занятие мне ожидаемо не платят (рекомендую глянуть на значок Адблока, там гордый ноль забаненной рекламы, а в лучшем случае перекрытая Гугл Аналитика и/или Яндекс.Метрика), то вдохновение приходит сугубо стихийно и детерминированию не поддается.
  3. Кат (кнопочка «ЧИТАТЬ ОСТАЛЬНОЕ» служит строго для больших фотопостов, тексты я под кат никогда класть не буду.
  4. Подписаться на блог можно только через RSS, в дальнейшем что-нибудь придумаю (вероятно, подписка через почту).
  5. Комменты, возможно, будут однажды. Только после регистрации (полагаю, через социалки можно будет залогиниться) и только с принудительной премодерацией.
  6. Задают вопрос: «Что это за шизофреничные диалоги с самим собой в некоторых постах?». Отвечаю: это наиболее вероятные вопросы, возникающие у дорогой аудитории по мере прочтения записи. Поскольку я в некотором смысле писатель, то и ход мысли обывателя представить в состоянии.

Аппендикс:

  1. Твиттер, который, вероятно, ты нашел, давно заброшен. В актуальном твиттере тебя никто не ждет.
  2. Раздел «Проза» должен ожить до осени (2017 года), в нем появится мой актуальный список литературных трудов (изданных, пишущихся и планируемых). Раздел «Разное» появится к концу года.
  3. Музыка на условной паузе, пока не будет готова книжка «Беллс».
Теги: сайт, блог, правила
Диалоги о воде

В детстве я почему-то считал, что газировка (вроде Биолы, Пепси или классического семейства Кока-Колы) утоляет жажду, хотя все мне утверждали обратное. Иллюзия эта развеялась примерно в возрасте двадцати лет. Со временем как-то оказалось, что в газировке много сахара, а через некоторое время мне снова хочется пить.

Тогда я плавно перешел от сладкой воды к сокам (от той же Биолы), а потом — к газированной минералке вроде Царичанской. Хотя последнюю я жаловал всегда — помнится, у нас даже дома водился пластиковый сифон, который с помощью n гривен можно было обменять на другой, с газированной «минералкой». Хотя теперь уже сложно понять, почему я так угорал по двуокиси углерода.

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

NB: соки нужно брать строго сольные (яблочный, апельсиновый и т. д.), никаких миксов или, упаси боже, «мультивитаминов». Такие соки соскребаются с самых днищ ржавых чанов, хотя на вкус неплохи.

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

Надо, кстати, добавить, что я никогда не чурался пить воду из-под крана — и кипяченую и сырую. Родители всегда говорили, что это чудовищно и употреблять такую воду нельзя (в доказательство показывали почерневшие от микроскопических водорослей сменные фильтры), но удовольствие от запретного плода всегда было сильнее, в особенности после сильной жажды. УЗИ я делаю периодически, никаких камней найдено не было, равно как и других отклонений организма, хотя я вынужден признать, что это не самое здоровое питье. С другой стороны хуже кипяченой воды нет практически ничего.

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

Последние года два я нахожусь в поисках идеальной бутылированной воды. Главный критерий — она должна быть абсолютно безвкусной. Вопреки расхожему мнению вкус у дистиллированной воды крайне специфический и яркий, поэтому ее мы отметаем. Боржоми жажду не утоляет, Виттель — просто ни о чем, Эвиан — попсовая дрянь, Сант Анна — отвратительная хрень со вкусом офисной воды из бутылей (хуже такой воды нет ничего вообще). Среди украинских представителей могу выделить Йодо (йодированную, очевидно). Неплохо, очень неплохо.

А победителем выходит пока что только Сан Бенедетто. Отличная вода без вкуса и запаха, среднего ценового диапазона (кажется, двухлитровая бутылка стоит в районе 40-50 гривен). Упаковка у нее, правда, какая-то очень нищенская: тонкий пластик, жалкая трехмиллиметровая крышечка и совсем уж сиротский дизайн обложки. Но функционально вода совершенно непревзойденная. Рекомендую всем. Гарантированно найти можно в Новусе (в маленьком участке иностранных вод) и Ле Сильпо.

Продолжаю наблюдения за миром вод.

Теги: вода
Крылатые цитаты

Дадим слово Джеймсу «2GD» Хардингу:

Girls are really annoying. They like stupid shit. They say stupid shit. They are not funny. They are not interesting and they are not that entertaining.
Теги: цитаты
Трейлер книги

Вашему вниманию предлагается отрывок из моего перевода книги писателя Гаспара Пелюра «Беллс»:

Величайшей ложью современности является идея о вечном низвержении. Люди почему-то решили, что человечество стремительно деградирует из светлых времен золотого века во тьму века каменного. Порой они даже приводят аргументы: повсеместный разврат, системная деградация общества и отбившаяся от рук молодежь — те самые пресловутые потерянные поколения. Складывается впечатление, что еще лет тридцать, и люди примутся грызть землю для выживания, настолько теряется молодежь из поколения в поколение. Самым хитрым смысловым капканом является выражение «не повезло жить в эпоху перемен». Родители очень любили это выражение и в доказательство своих слов приводили воспоминания своей, по их словам, беззаботной и безоблачной молодости.

Разумеется, никакого золотого века в истории человечества не было; периоды ренессанса, как я со временем понял, порой были темнее многих эпох презрения, и оставляли после себя, к сожалению, не только Джоконду да Винчи, но и Божественную комедию Данте, да и то из естественной брезгливости донести другие, более значительные проявления культуры тех времен.

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

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

Я часто размышлял о судьбах Франции, пытаясь понять, где мы пошли не туда, отчего наши дети рождаются с анэнцефалией и почему получают на уроках низкие оценки. К выводам, которые можно сформулировать в словах, я так прийти и не смог, хотя оценил свою несомненную способность размышлять о судьбах, не призывая в союзники виноградного змия (сухого и полусладкого). От этого становилось грустно и в результате процесс подпитывал сам себя.

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

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

А спасать отечество так надо.

Теги: книга, беллс
Еще посты