12 January 2017, 06:24 GMT
Решил я тут давече запилить у себя в блоге возможность вставки математических формул прямо в тексте заметок. Например, вот так:
\Huge\frac{1}{\sigma\sqrt{2\pi}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)
Естественно, рисовать формулы вручную совсем не круто, но ведь есть же \huge\LaTeX{}! Латех — это инструмент для вёрстки сложных документов, статей и т.д., в котором есть встроенный рендерер для формул. То, что нужно! Но как подружить его с сайтом?
Я решил использовать веб-сервис от Гугла. Для этого надо открыть соответствующий URL: http://chart.apis.google.com/chart?cht=tx&chl=..., куда вместо многоточия вписать нужную формулу, после чего вы увидите отрендеренное изображение. Пример выше — формула плотности вероятности для нормально распределения, на языке латеха она выглядит так:
\frac{1}{\sigma\sqrt{2\pi}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)
Не стоит забывать, что символы в URL нужно экранировать, поэтому проще всего для автоматизации данных действий использовать простенькую PHP-функцию:
function latex($text) {
     return 'http://chart.apis.google.com/chart?cht=tx&chl=' . urlencode($text);
}
Также можно сделать сохранение изображений на своём сервере (как сделано в этом блоге), для этого следует воспользоваться функцией file_get_contents, но данное задание оставим читателю для самостоятельной работы.
Кстати, если отрендеренные картинки кажутся вам слишком маленькими, добавьте в начало формулы текст \Huge.
11 January 2017, 09:29 GMT
Небольшой утилитарный пост с инструкцией, решающий проблему «Как сайт, разрабатываемый под MAMP в MacOS, локально протестировать на Windows, запущенной через Parallels Desktop».
И так, я занимаюсь разработкой сайтов и в качестве инструментов использую Мак с сервером MAMP PRO на борту. MAMP — это аббревиатура от Mac, Apache, MySQL, PHP. Естественно, часто возникает вопрос, как протестировать создаваемый сайт из-под Винды (например, в Интернет Эксплорере, которого под Маком нет).
Обычно для разработки сайтов создаются локальные хосты, например, localhost или figaroo.local. К сожалению, открыть их из вне не получится, на то они и локальные. Можно, конечно, выгрузить сайт куда-нибудь в интернет, но это слишком долго для процесса отладки. Здесь на помощь нам приходят виртуальные машины, например, самая удобная для Виндоуса под Маком — Параллелс (Parallels Desktop). Но, «из коробки» открыть из виртуальной машины локальные сайты также не выйдет. Для этого придётся проделать несколько простых действий. Скажу сразу, забудьте про домен localhost, создайте какой-нибудь другой, например, у меня это будет kirkizh.local.
8 January 2017, 04:24 GMT
Почти 4 года назад я писал о чудесной атмосфере в офисе ВКонтакте.
К сожалению, некоторые вещи меняются в худшую сторону.
Недавно мне заблокировали одну из моих групп. В какой-то момент я зашёл в неё и увидел следующее:
блокировка группы ВКонтакте копия
И, если в прошлой истории о потере группы, я был сам не прав, то сейчас агенты поддержки ВК нарушают свои же правила.
Тематику сообщества я действительно сменил, и сменил резко. Но нигде в правилах ВК нет информации о том, что это запрещено делать. Естественно, я сразу же написал в тех. поддержку, чтобы разобраться, в чём дело. Мне сказали, что это запрещено правилами сайта. Я полез внимательно читать правила и опять ничего не нашёл. Далее состоялся занимательный диалог с агентом поддержки:
диалог с поддержкой ВК
«Если вы хотите говорить на языке правил» — ЧТО?! На каком ещё можно говорить языке, если речь идёт про блокировку сообщества за нарушение правил? Ладно, идём читать пункт 5.13.1:
5.13.1. Пользователь вправе создавать группы, публичные страницы и встречи (далее — Сообщества) для целей информирования других Пользователей о каких-либо событиях, мероприятиях, организациях, как коммерческих, так и некоммерческих (например, благотворительных), их создании и деятельности, иных интересующих Пользователей материалах (далее — Объекты обсуждения), и/или/либо возможного обсуждения их с другими Пользователями (в том числе путем создания фан-клубов, обмена мнениями, отзывами и так далее). В процессе информирования и обсуждения в Сообществах Объектов обсуждений Пользователи обязаны соблюдать действующее российское и международное законодательство, а также размещать только такую информацию, которая соответствует настоящим Правилам, а также признанным этическим нормам и принципам морали, в том числе относящимся к таковым по мнению Администрации Сайта.
Вы где-нибудь видите запрет на смену тематики в сообществах? Я тоже не вижу. Относительно этического / неэтического отношения к пользователям: этика — спорная философская дисциплина, изучающая вопросы смысла жизни, проблемы морали, добра и зла и т.д. Как это связано со сменой тематики группы ВКонтакте? Никак.
К сожалению, дальнейший диалог с поддержкой зашёл в тупик. Группу мне не разблокировали, привести адекватную причину и пункт правил с запретом тоже не смогли.
16 December 2016, 08:45 GMT
Радиация не имеет цвета, она не пахнет и не издаёт звуков, её не попробуешь на вкус. Именно поэтому она так опасна: человек без специальных приборов не может определить уровень радиационного фона, а радиация может причинить серьёзный вред здоровью или стать причиной летального исхода. При этом вокруг радиации очень много мифов и городских легенд. В этой заметке я хотел бы провести небольшой ликбез на данную тему и рассказать о нескольких своих экспериментах.
5 December 2016, 07:54 GMT
Вчера (4 декабря) в Питере наконец-таки полностью открыли движение по ЗСД (Западному скоростному диаметру) — платной трассе внутри города (ранее были открыты только южный и северный участки).
Исторически в Санкт-Петербурге сложилось так, что большая часть кольцевой дороги (КАД) проходит через дамбу в Финском заливе. Это сильно снижает её полезность: западная часть города практически не имеет выхода к скоростным магистралям. Особенно не везло жителям Васильевского острова: во-первых, постоянные пробки на въезде и выезде, во-вторых, летними ночами остров был отрезан от остального города разведёнными мостами. ЗСД (ниже показан фиолетовым цветом) призван компенсировать этот недостаток.
Западный Скоростной Диаметр (ЗСД)
5 November 2016, 07:32 GMT
В мире не так много исполнителей, на концерты которых мне хотелось бы сходить (более того, большинство из любимых групп либо распались, либо умерли). Вчера был на концерте Слота в Концертном зале Аврора в Питере. Концерт был посвящён 10-летию альбома «Две войны» и 10-летию участия Нуки в составе группы. Вот как это было.
IMG_2435
4 November 2016, 09:05 GMT
Ненависти пост.
Уже 5 лет я пользуюсь техникой Эппл, и до осени этого года был всем совершенно доволен. Но, дорогой Эппл, что за хрень ты творишь сейчас?
Сначала выходит Айфон 7 без гнезда для наушников. Окей, 3.5 мм — устаревшая технология, которой уже 50+ лет, надо переходить на цифровой сигнал, всё понятно. Да, в коробку с каждым Айфоном вы положили переходник. Допустим, я смирился. Хотя, остаётся непонятным, как одновременно слушать музыку и заряжать телефон. Вы скажете, что таких кейсов не бывает? Бывают, вот пример. Я периодически летаю из Питера в Москву на день (утром туда, вечером обратно). Естественно, аккумулятор за день разряжается (сделать нормальный аккум вы тоже не можете, зато телефоны скоро будут тоньше кредиток). В самолёте я обычно слушаю музыку с телефона, и на обратном перелёте приходится заряжать телефон от повербанка. Сменив 6эс на 7, я так делать больше не смогу. Как минимум придётся купить дурацкий разветвитель (о да, мне как раз не хватало лишнего провода в рюкзаке). Купить отдельный плеер не вариант — я лишусь синхронизации музыки через айклауд, да и опять это лишний девайс и лишний вес.
Но это не самое страшное. Недавно был представлен новый Макбук Про, у которого 4 новомодных порта ЮСБ-С (USB-C) и аудио-разъём 3.5 мм. Вот здесь начинается полный трэш.
Для меня Макбук — основной рабочий инструмент, у меня нет настольных компьютеров. Я предпочитаю очень мощный и ультра мобильный ноут, так как для меня важно иметь инструмент всегда под рукой. Я часто работаю в поездках или даже в дороге (например, если у меня долгая пересадка в аэропорту). Соответственно, я использую ноут в разном «окружении»: как правило, в поездках подключаю только зарядку и наушники, а дома — ещё кучу дополнительной периферии: аудиосистему, внешний монитор, внешний диск, различные зарядки (для этих целей я даже купил ЮСБ-хаб) и т.д.
Теперь же, если я сменю Макбук на новый, мне, во-первых, придётся накупить кучу переходников (потому что «из коробки» Айфон зарядить от Макбука уже не получится, да, впрочем, не только его). Даже обычную флешку нужно подключать через переходник. Во-вторых, мне придётся выкинуть старые зарядки и купить новые, потому что разъём Магсейф тоже убрали. О стоимости всего этого добра вежливо промолчим. Ну а в-третьих, больше я не смогу в поездках использовать айфоновские наушники с Макбуком! Эппл, о чём вы вообще думали? Новые технологии — это здорово, но зачем надо было так усложнять жизнь?
Ну и напоследок смешная грустная картинка из интернета:
как заряжать айфон от макбука и слушать музыку одновременно
31 October 2016, 19:21 GMT
Привет, дорогие читатели. Пришло время рассказать о том, как технически устроен мой блог, и чем отличается от абсолютного большинства других. Поскольку я веб-программист и занимаюсь созданием сложных сайтов, я решил не брать готовый движок для блога типа Вордпресса, а написать его самостоятельно, при этом мне хотелось сделать в нём что-нибудь необычное.
Главная особенность этого блога в том, что создание и редактирование постов (я называю их заметками) происходит не в привычном виде через админку на сайте, а через Эвернот.
evernote
Для блога у меня создан специальный блокнот в Эверноте, все заметки из которого через API выгружаются на сайт kirkizh.ru. Кроме самого контента выгружается мета-информация: дата создания/обновления заметки, заголовок и даже тэги. Можно, например, посмотреть все заметки по тэгу «путешествия». Если я поставлю заметке тэг «черновик», то она будет скрыта с сайта. Это позволяет спокойно писать и редактировать заметку, прежде чем она будет опубликована.
Сначала хранение постов блога в Эверноте задумывалось как некая прикольная идея, но на практике оказалось весьма удобной штукой. Во-первых, я могу писать посты с любого устройства — хоть с компьютера, хоть с телефона. Во-вторых, мне не нужен для этого интернет: я могу написать заметку в самолёте, и, как только я прилечу, она сама опубликуется в блог при появлении сети. В-третьих, приятно иметь резервную копию блога — если с сайтом или сервером что-то случится, не нужно будет думать, как всё восстановить.
Мой парсер заметок понимает стандартную эвернотовскую разметку — стили текста, ссылки, картинки, файлы и т.д. Также я придумал себе дополнительную разметку. Можно как-то по-особенному выделить текст.
Например, так выглядят лирические отступления от основной темы.
Можно удобно добавить листинг исходного кода, который будет подсвечен скриптом highlight.js:
<?php echo "Привет, мир!"; ?>
Для более комфортного чтения блог сам подстраивает контент под устройство, с которого его читают, — попробуйте зайти на этот сайт с компьютера и со смартфона. Все тексты прогоняются через Типограф Лебедева (в котором я, кстати, нашёл баг), а все медиа-файлы (картинки, слайдеры, видео) с помощью Эмёрджа Бирмана подгружаются по мере прокрутки страницы.
Если вам нравится то, как я пишу, вы можете подписаться на RSS-ленту или следить за новыми постами в моём ВКонтакте, Твиттере или Фейсбуке.
25 October 2016, 15:43 GMT
Недавно я прикрутил к своему блогу типограф от Студии Лебедева. Типограф — это инструмент автоматической обработки текстов согласно правилам экранной типографики. Он расставляет правильные кавычки, длинные тире, удаляет мусор, добавляет неразрывные пробелы и т.д. Текст становится читать легче и приятнее, и мне не нужно делать это каждый раз вручную.
Но, когда я писал заметку про то, как создать бота для Телеграма, я столкнулся со странным багом — у меня вырезались некоторые куски текста, например, <TOKEN>. Я полез смотреть исходный код и обнаружил, что этот текст стал HTML-тэгом. Сначала у меня возникло предположение, что я накосячил с парсером разметки заметок, но, оказалось, что баг в коде типографа.
Тэги: phpXSSбаг
24 October 2016, 19:22 GMT
Валера продолжает путешествовать и писать об этом в свой бложег. :-) После Чехии было решено посетить Австрию, а, если точнее, Вену.
Первым делом после самолёта я отправился пить меланж — это такой особый венский кофе:
IMG_2046