Isogenic Engine — отличное решение для разработки HTML5 игр

E20151002-202503[1]

Недавно открыл для себя движок Isogenic Engine. Предназначен для разработки различных приложений (особенно игр) на HTML5/Canvas с поддержкой мультиплеера на базе Nodejs. До сентября сего года исходники движка были закрыты и продавались за денежку, но месяц назад авторы решили полностью открыть его для комьюнити с лицензией MIT (т.е. разрешается использовать в коммерческих разработках). Серверное взаимодействие построено на технологии Valve (которая допускает одновременное обновление мира на сотнях клиентов без лагов и задержек). Далее

Бразильский музон для звонка

Bossa Nova

Наконец-то я нашёл музыку, которую долго искал. Она звучит в одной из сценок КВН, начиная с 1:16. Пробовал задавать вопросы на разных форумах и Q/A ресурсах, даже на знаменитом stackoverflow. Безрезультатно.

К счастью на quora мне помогли (нашёлся португалоязычный пользователь), который сообщил, что полной версии этой композиции не существует, так как она была написана специально для одного из рекламных роликов Билайна композитором Emanuel Hovaghimian и называется «Palabras». (Видимо, чтобы не иметь проблем с авторскими правами на одну из уже существующих композиций!) Кстати исполнитель судя по акценту — не девушка из Бразилии, скорее всего наша соотечественница. Далее

Простая функция для подсчёта статистики на PHP

php statistics function

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

Пропали виджеты после обновления WordPress 4.3

wordpress 4.3 widget issue

На одном из наших сайтов (http://viva-games.ru) после обновления WordPress 4.3 пропали виджеты. Причём, что интересно, стандартные виджеты остались на месте, а кастомные потерялись. После некоторого поиска выяснилось: сие чудо происходило потому, что в коде наших виджетов метод update() возвращал null. Что-то разработчики WP поменяли в ядре так, что виджет, у которого в кастомных настройках хранится null, теперь не отображается. Далее

Защита сайта от брутфорса без правки кода

Wordpress защита от брутфорса

Если Ваш сайт, написанный на базе популярного движка (WordPress, Joomla, Magento и др.), стал сильно тормозить, а в логах доступа сервера Вы видите множество обращений к странице логина или к странице администрирования, знайте — ваш сайт «нашли» боты-брутфорсеры и пытаются подобрать пароль администратора. Далее

Как предотвратить повторный запуск скрипта

В одном из проектов передо мной встала задача предотвратить повторный запуск скрипта, если он уже выполняется. Этот скрипт довольно длинный по времени, запуск этого скрипта производится через равные интервалы времени с помощью cron. При этом я не могу предугадать время выполнения этого скрипта (чтобы, скажем, настроить период запуска cron чуть больше, чем время выполнения скрипта). Поэтому возникает опасность, что cron запустит вторую копию скрипта в то время, когда первая копия ещё не завершила работу, что может привести к непредсказуемым последствиям. Далее

Как быстро искать отличия двух картинок

10otl

Порой на просторах нашего «необъятного» интернета, а то и в каких-нибудь книгах или журналах встречаются развлекательно-познавательные задания в стиле «найди N отличий между картинками» и им подобные. Конечно же, будучи до мозга костей программистом, я редко когда соглашаюсь решать подобные задачки «в лоб». А вот что я придумал и пользуюсь регулярно 🙂  Далее

Strict Standards: Only variables should be passed by reference как исправить

Подобная ошибка начала появляться при переходе на версию PHP 5.3, в которой запрещён вызов функции с параметром — константой, если функция ожидает на этом месте ссылки на переменную.

Приведу простой пример. Скажем, у нас есть функция, которая ожидает ссылку на переменную $b:

function myfunc($a, &$b) {
     // Что-то делаем
}

Далее

Как передать переменную из Javascript в PHP

ajax-logo1[1]

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

Спросили: «Как передать переменную из Javascript в PHP». Ответ на этот вопрос хотелось бы начать с того, что Javascript и PHP выполняются на разных физических машинах, а это значит, что просто так «передать переменную», в обычном понимании этого процесса, не получится. Далее

Если новый телефон теряет сеть

ed28454e53045cbbf982a54c151_prev[1]

Вы купили новый телефон, но в нём внезапно обнаружился досадный глюк: иногда друзья не могут вам дозвониться (абонент недоступен). При этом на вашем старом телефоне в этой же точке пространства приём всегда был отличным. Вы начинаете грешить на телефон, на производителя в целом и вообще зарекаетесь когда-либо брать новую аппаратуру. Если вы читаете данную статью, то наверняка вы столкнулись с подобной ситуацией. Но причиной ваших страданий является не баг прошивки и не дефект телефона, а всего лишь следствие несовершенства наших сотовых сетей. Ниже я объясню вам, почему так происходит и как это исправить навсегда, на любом телефоне. Далее