Обновить
33
Дмитрий@Keyten

JavaScript

14
Подписчики
Отправить сообщение
Особенно если срифмовать с "только бы запомнить это, без ошибки произнесть"
Поделюсь своей историей.

Примерно в возрасте 11-12 лет я случайно попал в мморпг-браузерку, сейчас уже мейловскую. Тогда распространённость доната была гораздо меньшей, да и я как-то вовремя решил, что принципиально не буду донатить (она с тех пор сильно испортилась, но до сих пор её атмосфера иногда завлекает поностальгировать по детству и заглянуть пообщаться со знакомыми, за все 8 лет донат был всего пару раз, да и то ~ 100-200 рублей, чисто потестить некоторые новые фичи).
Это и близко не стратегия, скорее как раз на уровне "танчиков" (геймплей кардинально другой, но по уровню развития — примерно тот же, как мне кажется). Но несомненный плюс игры — она построена на общении. Как там говорят, это такой чат, где в верхнем окошке можешь получить за то, что сказал в нижнем.

Что она мне дала? По пальцам рук не перечислить. Самое то, что на поверхности:

  • Вовремя поняв, что большая часть игровой аудитории — "взрослые", которые, например, играют на работе вместо работы (очень немалое количество таких), я решил сильно не афишировать свой возраст. Вы видели ребёнка, который пытается создать впечатление, что ему 20-25? Во всяком случае, по-моему, это очень важный этап моего развития :)
    Ах да, на хабр я попал в 15 лет, написав статью в песочницу и получив инвайт от НЛО. Посмотрите и скажите, выглядит ли она на 15 лет?
    До этого у меня был свой блог (недавно я его реанимировал с не слишком понятной целью), вот, например, статья, написанная в 14 лет. Имхо, она таковой очень сильно не выглядит (можно ещё отметить роль "врождённой грамотности", проснувшейся у меня, насколько помню, классе в 5).
    Считаю, что роль этой игры в этом очень немалая.
    P. S. Сейчас мне 19.

  • В этой же игре пара людей на форуме научили меня писать стихи. Вот просто взяли, и научили. Перед этим привив любовь к ним (старательно убитую школой), просто показав, насколько потрясающе могут писать они…
    Не скажу, что у меня получается хорошо, но неплохо. И мне это нравится.

  • К слову об интровертах. Долгое время я был довольно-таки замкнутым и не слишком общительным человеком (возможно, так и должно быть у человека, в 12 лет пишущего статьи о javascript? впрочем, единственное интересное мне общение тогда было лишь на тему моих хобби).
    Года 3 назад администрация игры решила, что в чатах локаций слишком мало общения (что является прямым следствием убийства игры обязательным требованием доната), и решила создать его искусственно. "Набираются творческие люди на новую должность в игре". Я туда попал одним из первых. Должность — по сути, помощники соц. админа игры. Помогают в проработке конкурсов, некоторые другие вещи…
    И да: создание общения в чате локации. Как это выглядит? Приходит человек и пытается расшевелить игроков, занимающихся своими делами (вроде добычи ресурсов). Самое тупое, что можно сделать (впрочем, я такой вариант поюзал лишь однажды, он мне не очень понравился): открыть какой-нибудь паблик вк и начать копировать оттуда шутки, очень быстро хоть кого-нибудь расшевелит, создаст взаимодействие, а дальше можно поднять или подхватить какую-нибудь тему, и…
    Можно найти кого-нибудь знакомого в локации, начать с ним общение и попытаться привлечь в разговор других игроков (разговор 2 людей в чате локации — по умолчанию общественный, любой имеет полное право в него влезть присоединиться).
    В общем, к немалым плюсам этого пункта отношу неслабую прокачку коммуникационных навыков, которые мне затем более-менее успешно удалось перенести в жизнь (хоть и не полностью).
Т.е. живём ради удовольствия? Что тогда останавливает от использования разного рода веществ, приносящих позитивные ощущения?
Если ты когда-нибудь умрёшь — какая тебе разница?
Есть привычка читать начало статьи в списке, и дальше уже, если интересно, переходить под кат. В этом случае пустая строка после <cut/> очень помогает, т.к. сразу видно, откуда начинать (продолжать). Имхо.
Меня, кажется, смутило тогда, что Firefox отказался тянуть css через тег link, заявив, что ему не нравится mimetype.
К кроссдоменному же ajax я просто не привык, и даже не задумывался, что так можно.

За pull request-ы спасибо, принял :)
Юзерскрипт срабатывает, по-видимому, после скриптов страницы, так что это не помогло.
Я слегка покопался в клиент-коде хабра, видимо, юзается вот этот плагин: https://github.com/sandywalker/webui-popover, а у него есть метод destroy.
$('*[rel=user-popover]').webuiPopover('destroy');
— такой вариант работает.
Сделал. Пользуйтесь :)
(нужно включить в настройках)
Навёл на другого юзера (WaveCut выше), а там уже Popover9.
Есть такой вариант (в Stylish или ещё куда):
.user-info {display: none !important}
Но он отключает лишь внутренности плашки, а сама плашка всё также появляется, но уже в виде маленькой почти незаметной полоски.

Amomum, конечно, обязательно добавлю эту опцию.
Спасибо.
Реквесты по night mode, наверное, лучше сюда: https://github.com/WaveCutz/habrahabr.ru_night-mode, в скрипте же будет периодически обновляться (впрочем, pull request с обновлением в скрипт — тоже можно).
Если это предложение для названия, то мне нравится.
И в самом деле. Спасибо! :)
Да, к сожалению, да. MathJax выводит ошибку, но я навожу на неё мышкой, и возвращается нормальная картинка. Собственно, это моя первая реакция на подобное, никаких особенных неудобств вроде бы нет.
В любом случае, MathJax отключается одним кликом в меню.

И да, события ошибки в MJ я не нашёл, поэтому пришлось реализовать по mouseover.
На регистр имени автора обратите внимание :)
Круглое — тащить, квадратное — катить.
Можно вопрос, зачем вы всё транспонировали? Традиционно геометрический вектор обозначается вектором-столбцом, а у матрицы преобразования строка (0, 0, 1) — внизу, а не справа.
Вектор-строка же обозначает обычно ковектор, который принципиально другой объект.

Что же касается формул, держите и больше так не делайте (&nbsp; для отступов я уж не стал делать, можете сами):

Картинки
M = \begin{pmatrix}\ a_{11} &amp; a_{12} &amp; 0 \\ a_{21} &amp; a_{22} &amp; 0 \\ a_{31} &amp; a_{32} &amp; 1\end{pmatrix}
\operatorname{det} M = a_{11}\,a_{22} - a_{12}\,a_{21},\qquad \operatorname{det} M \ne 0
p_1 = p_0 \cdot M = (x_0, y_0, 1) \begin{pmatrix}\ a_{11} &amp; a_{12} &amp; 0 \\ a_{21} &amp; a_{22} &amp; 0 \\ a_{31} &amp; a_{32} &amp; 1\end{pmatrix}
M_c = R \cdot H_x \cdot S
R = \begin{pmatrix}\ \cos \alpha &amp; \sin \alpha &amp; 0 \\ -\sin \alpha &amp; \cos \alpha &amp; 0 \\ 0 &amp; 0 &amp; 1\end{pmatrix}
H_x = \begin{pmatrix}\ 1 &amp; hx &amp; 0 \\ 0 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 1\end{pmatrix}
S = \begin{pmatrix}\ sx &amp; 0 &amp; 0 \\ 0 &amp; sy &amp; 0 \\ 0 &amp; 0 &amp; 1\end{pmatrix}
M = T_0 \cdot S \cdot H \cdot R \cdot T_0^{-1} \cdot T
T_0 = \begin{pmatrix}\ 1 &amp; 0 &amp; 0 \\ 0 &amp; 1 &amp; 0 \\ -tx_0 &amp; -ty_0 &amp; 1\end{pmatrix}
T_0^{-1} = \begin{pmatrix}\ 1 &amp; 0 &amp; 0 \\ 0 &amp; 1 &amp; 0 \\ tx_0 &amp; ty_0 &amp; 1\end{pmatrix}
T = \begin{pmatrix}\ 1 &amp; 0 &amp; 0 \\ 0 &amp; 1 &amp; 0 \\ tx &amp; ty &amp; 1\end{pmatrix}
a_{11} = sx \cdot \cos \alpha - sx \cdot hx \cdot \sin \alpha
a_{12} = sx \cdot hx \cdot \cos \alpha + sx \cdot \sin \alpha
a_{21} = -sy \cdot \sin \alpha
a_{22} = sy \cdot \cos \alpha
a_{31} = tx + tx_0 \cdot (1 - (sx \cdot \cos \alpha - sx \cdot hx \cdot \sin \alpha)) + ty_0 \cdot sy \cdot \sin \alpha
= tx + tx_0 \cdot (1 - a_{11}) - ty_0 \cdot a_{21}
a_{32} = ty + ty_0 \cdot (1 - \cos \alpha \cdot sy) - tx_0 \cdot (sx \cdot hx \cdot \cos \alpha + sx \cdot \sin \alpha)
= ty + ty_0 \cdot (1 - a_{22}) - tx_0 \cdot a_{12}
\operatorname{if} a_{22}=0
\alpha = \frac{\pi}{2},
sy = -a_{21}
\operatorname{else}
\alpha = \operatorname{atan}\left(-\frac{a_{21}}{a_{22}}\right),
sy = \frac{a_{22}}{\cos \alpha}
sx = \frac{\operatorname{det}(M)}{sy}},
hx = \frac{a_{11} \cdot a_{21} + a_{12} \cdot a_{22}}{\operatorname{det}(M)},
tx = a_{31} + ty_0 \cdot a_{21} + tx_0 \cdot (a_{11} - 1),
ty = a_{32} + tx_0 \cdot a{12} + ty_0 \cdot (a_{22} - 1).

TeX
$$ M = \begin{pmatrix}\ a_{11} & a_{12} & 0 \\ a_{21} & a_{22} & 0 \\ a_{31} & a_{32} & 1\end{pmatrix}$$

$$ \operatorname{det} M = a_{11}\,a_{22} - a_{12}\,a_{21},\qquad \operatorname{det} M \ne 0$$

$$ p_1 = p_0 \cdot M = (x_0, y_0, 1) \begin{pmatrix}\ a_{11} & a_{12} & 0 \\ a_{21} & a_{22} & 0 \\ a_{31} & a_{32} & 1\end{pmatrix} $$

$$ M_c = R \cdot H_x \cdot S $$

$$ R = \begin{pmatrix}\ \cos \alpha & \sin \alpha & 0 \\ -\sin \alpha & \cos \alpha & 0 \\ 0 & 0 & 1\end{pmatrix}$$

$$ H_x = \begin{pmatrix}\ 1 & hx & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{pmatrix}$$

$$ S = \begin{pmatrix}\ sx & 0 & 0 \\ 0 & sy & 0 \\ 0 & 0 & 1\end{pmatrix}$$

$$ M = T_0 \cdot S \cdot H \cdot R \cdot T_0^{-1} \cdot T $$

$$ T_0 = \begin{pmatrix}\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ -tx_0 & -ty_0 & 1\end{pmatrix}$$

$$ T_0^{-1} = \begin{pmatrix}\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ tx_0 & ty_0 & 1\end{pmatrix}$$

$$ T = \begin{pmatrix}\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ tx & ty & 1\end{pmatrix}$$

$$a_{11} = sx \cdot \cos \alpha - sx \cdot hx \cdot \sin \alpha$$

$$a_{12} = sx \cdot hx \cdot \cos \alpha + sx \cdot \sin \alpha$$

$$a_{21} = -sy \cdot \sin \alpha$$

$$a_{22} = sy \cdot \cos \alpha$$

$$a_{31} = tx + tx_0 \cdot (1 - (sx \cdot \cos \alpha - sx \cdot hx \cdot \sin \alpha)) + ty_0 \cdot sy \cdot \sin \alpha $$

$$= tx + tx_0 \cdot (1 - a_{11}) - ty_0 \cdot a_{21}$$

$$a_{32} = ty + ty_0 \cdot (1 - \cos \alpha \cdot sy) - tx_0 \cdot (sx \cdot hx \cdot \cos \alpha + sx \cdot \sin \alpha) $$

$$ = ty + ty_0 \cdot (1 - a_{22}) - tx_0 \cdot a_{12}$$

$$\operatorname{if} a_{22}=0 $$

$$ \alpha = \frac{\pi}{2},$$

$$ sy = -a_{21} $$

$$ \operatorname{else} $$

$$ \alpha = \operatorname{atan}\left(-\frac{a_{21}}{a_{22}}\right), $$

$$ sy = \frac{a_{22}}{\cos \alpha} $$

$$ sx = \frac{\operatorname{det}(M)}{sy}},$$

$$ hx = \frac{a_{11} \cdot a_{21} + a_{12} \cdot a_{22}}{\operatorname{det}(M)},$$

$$ tx = a_{31} + ty_0 \cdot a_{21} + tx_0 \cdot (a_{11} - 1),$$

$$ ty = a_{32} + tx_0 \cdot a{12} + ty_0 \cdot (a_{22} - 1).$$


Сконвертить TeX в картинки можно тут.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность