Как-то раз передо мной стояла задача сделать подтверждение номера телефона. И, так как у меня совсем нет звездочек на гитхабе (и инвайта на хабре), было принято решение сделать гем.
В качестве смс-шлюза был выбран сервис Twilio, ибо он удобный и недорогой. Потратив на это дело несколько часов, получился, как по мне, весьма удобный гем.
В английском есть такая аббревиатура — TIFU. Привести здесь её точное значение мы не можем, но вы без труда найдёте его в Сети. А после «литературной обработки» TIFU можно перевести как «сегодня я всё испортил». В контексте этого поста данная фраза относится к использованию функции Math.random() в JavaScript-движке V8. Хотя случилось это не сегодня, а пару лет назад. Да и дров я наломал не по своей вине, корень зла таится в самой этой функции.
«Многие генераторы случайных чисел, используемые сегодня, работают не слишком хорошо. Разработчики обычно стараются не вникать, как устроены такие подпрограммы. И часто бывает так, что какой-то старый, неудовлетворительно работающий метод раз за разом слепо перенимается многими программистами, которые зачастую просто не знают о присущих ему недостатках»
В V8 необходима новая реализация Math.random(). Работу текущего алгоритма, кочующего от одного программиста к другому, нельзя считать удовлетворительной из-за слабой, неочевидной деградации, часто встречающейся в реальных проектах.
Хочу подчеркнуть, что сам движок V8 — замечательный продукт и его создатели очень талантливы. Я ни в коей мере не обвиняю их. Просто эта ситуация иллюстрирует, насколько сильно влияют на процесс разработки даже небольшие нюансы.
Китайцы довольно замороченные на магии чисел. Ну вот, например, в Китае практически не встречается цифра 4 – даже в лифтах зачастую нет кнопки с таким номером, почти не встречается она и на автомобильных номерах. У терафобии есть объяснимые причины: слово «четыре» в китайском языке созвучно слову «смерть». Ну или вот цифра 8, помните шутку про неё? "Что такое цифра 8? Это бесконечность, повёрнутая на угол пи-пополам" – с этой цифрой китайцы не шутят – для них это любимая цифра, символ достатка, полноты и совершенства. А как известно, частью совершенства является удовлетворение материальных потребностей. Но для этого есть совсем другие цифры – четыре единицы которые в сумме дают 4 или 11.11 – вот этой магии чисел китайцы радуются особенно бурно. И не без причин – заходите под кат, тоже порадуетесь!