Ссылки за ноябрь 2014

Warrior — 6/10

You want to risk your life to keep luxury you can't afford. Someone doesn't approve. Just do it. This person is either already approves it secretly, or will approve later when you start. That's how it works, yeah.

экспорт жж

в отличие от некоторых компаний, LiveJournal не предоставляет удобной кнопки «скачать мои данные». С другой стороны, нельзя отказать ему в том, что в некотором виде скачать их всё-таки можно. Нам предоставлен помесячный экспорт записей и отдельно потысячный экспорт комментариев. Пользоваться ими довольно нудно, а попытки автоматизации процесса всегда занимают намного больше времени, чем однократное выполнение его вручную. Но когда нас это останавливало? ;)

повинуясь зову иррациональной тяги на всякий случай хранить свои данные поближе к себе, я написал скрипт для экспорта ЖЖ. Помимо HTML архив получается ещё и в JSON, и в Markdown, поэтому следующим шагом можно скормить его пеликану. Пеликан сделает из 100500 файлов нормальный статический сайт.

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

простой WiFi

если у вас дома бывают гости, и вы не против, чтобы они пользовались вашим домашним WiFi, можно заметно упростить для них подключение. Основные параметры, такие как имя сети и пароль, легко представить в виде QR-кода, и гостю достаточно будет его сосканировать. Вот WiFi QR Code Generator, который позволяет создавать коды вроде такого:

пример QR-кода с параметрами WiFi-сети

достаточно указать имя сети, пароль, распечатать код, и положить его в удобное место

The Fault in Our Stars — 7/10

Funny and serious, sweet but sometimes cynical, romantic and pragmatical movie about cancer. With a nice touch of "bite the cigarette, but don't give it power to kill you".

обновлённый webfinger

почти пять лет назад я писал о том, как добавить для своего почтового адреса поддержку WebFinger. С тех пор он довольно сильно изменился. Во-первых, опубликовали официальную RFC7033 WebFinger. Во-вторых, переключились с XML на модный JSON. В-третьих, начали использовать в нескольких ещё менее известных системах

впрочем, суть его осталась та же, и добавить поддержку WebFinger всё так же просто: достаточно отдавать небольшой JSON-файлик по адресу https://example.com/.well-known/webfinger?resource=acct:email@example.com. Чуть сложности добавляет только то, что сам емейл теперь — параметр в адресе (и некоторые клиенты вопреки стандартам не экранируют в нём спецсимволы).

nginx:

include mime.types;
types { application/jrd+json jrd; }

location = /.well-known/webfinger {
    if ($arg_resource = 'acct%3Aemail%40example.com') {
        rewrite .* /.well-known/email@example.com.jrd break;
    }
}

email@example.com.jrd:

{
  "subject": "acct:email@example.com",
  "aliases": ["https://example.com/"],
  "links": [
    {
      "rel": "http://webfinger.net/rel/avatar",
      "href": "https://example.com/favicon.svg"
    },
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "href": "https://example.com/"
    }
  ]
}

здесь для примера приведены только два типа ссылок, можно использовать и все остальные существующие значения rel

экономика для программиста

довольно часто какие-то идеи становятся по-настоящему понятны только тогда, когда их объясняют твоим языком. Я вот недавно объяснил себе в программистских терминах одну довольно простую экономическую истину, и наконец-то её понял, а теперь хочу этим объяснением поделиться.

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

нагляднее всего это применимо к фруктам в супермаркете. Мне как покупателю хотелось бы, чтобы они были вкусными и недорогими. Супермаркету хотелось бы, чтобы они долго хранились и хорошо продавались. Из трёх параметров: цена, вкус, срок хранения — легко поддаются измерению и очевидно сравниваются только два. А вот сказать, какой из двух сортов яблок более вкусный, довольно сложно. Да и не покупают обычные люди сразу два сорта, чтобы потом сравнить их вкусовые качества.

очевидный результат: из разнообразных сортов яблок в магазины попадают те, которые дольше хранятся и больше весят. Оптимизация по цене/весу и сроку хранения. Есть, конечно, вероятность, что они будут ещё и вкусными, но гораздо вероятнее, что самые вкусные сорта менее урожайны или хуже хранятся. Вот и получается, что вначале все выбирали чего подешевле, а потом стали жаловаться на картонный вкус.

в общем, пост не о банальном выводе «хорошие вещи стоят дороже», а про объяснение причин в наглядных для программиста терминах: сорта оптимизированы по параметрам, которые важны продавцу и явно видны покупателю

Snowpiercer — 7/10

Very focused and quite thrilling dystopia, but it goes over the top sometimes. Offers a valid explanation how global warming has caused global freeze.

The Endless River

у Pink Floyd на днях внезапно появился новый альбом The Endless River. Насколько я понял, это по сути своей материалы, записанные для The Division Bell, но не вошедшие в него. Сейчас их переупаковали и продают. Почти все композиции — довольно унылые на мой вкус инструменталки, и я не стал его покупать. Даже сольный Гилморовский On an Island был как-то поинтереснее.

Lone Survivor — 6/10

I didn't realise previously that Afghani peasants could be so pissed off by Taliban as to take on them. Cool real story, okay movie.

Interstellar — 6/10

This movie has 9.2/10 on IMDb, but it is ponderous and so crowded with space-exploration-related psychological dramas that it barely has time for anything else, and even the dramas are not that good.

The Grand Budapest Hotel — 8/10

Evil aristocratic families, death squads, gorgeous castles, secret societies, and a ton of other cute clichés about old Europe

Иван Образцов

если вам нужно написать какое-то абстрактное имя, например, на рекламе пластиковых карт, скорее всего это будет Иван Иванов, или Иван Сидоров. А в Германии это будет Max Mustermann, от «muster» — «образец». По-моему, Иван Образцов и Иван Примерный звучат получше Ивановых :) Кстати, рекомендую статью в вики List of placeholder names by language

о злорадстве

сегодня вдруг вспомнил старую шутку, которую в последний раз рассказывал лет пять назад, а то и больше. Рассказывал с выражением, сам смеялся, слушатели смеялись. Хорошая такая была шутка, смешная. А сегодня — бр-р-р…

У Ивановых сгорела дача. Казалось бы, какое нам до этого дело? А приятно.

← предыдущий месяц