Pull to refresh
27
0
Maksim @MuLLtiQ

Software engineer

Send message

Зачем нужны почты no-reply@?

Reading time4 min
Views170K
Почты вида noreply@domain.ru, no-reply@domain.ru и прочие — вызов здравому смыслу. Просто вдумайтесь: это действующие почтовые ящики, на которые можно отправить письмо, но делать этого не нужно. Я знаю такой же по логичности объект – это кнопка «не нажимать». Вот примерно такая:



Есть такие штуки – протоколы, стандарты, принятые шаблоны использования. Все они однозначно подсказывают, что если есть почтовый адрес, на него можно написать. Если бы нам нужен был почтовый адрес, на который нельзя писать, его бы описали вместе со всем стеком протоколов, который обеспечивает работу электронной почты. Но его такого тупо нет. И тут на сцене появляется наш noreply.
Читать дальше →

Вышла в свет новая версия Node.js v4.0.0

Reading time5 min
Views30K
Сотрудники Node.js и члены Node.js Foundation с гордостью представляют 4.0.0 версию продукта. В этот релиз включены бесчисленные часы совместной работы проектов Node.js и io.js, которые были успешно объедены в одну кодовую базу. Проект Node.js управляется командой из 44 человек, 15 из которых формируют Technical Steering Committee (TSC). Кроме того, более 100 участников были добавлены в список людей, способных влиять на развитие ядра, по сравнению с числом участников версии v0.12.7.

Node.js v4.0.0 содержит V8 v4.5, это та же версия V8, которая поставляется вместе с веб браузером Chrome сегодня. Это привносит с собой множество бонусов для пользователей Node.js, наиболее важные из которых, это поддержка ES6 стандарта, который включен по умолчанию, включая блочную область видимости, классы, типизированные массивы (Node's Buffer теперь работает поверх Uint8Array), генераторы, Promises, Symbols, строковые шаблоны, коллекции (Map, Set, и так далее) и, новая возможность для V8 v4.5 — стрелочные функции.
Читать дальше →

Первый интерактивный учебник по линейной алгебре

Reading time1 min
Views30K


«Изображение говорит больше, чем тысяча слов», — такой принцип взяли на вооружение авторы учебника «Захватывающая линейная алгебра» ("Immersive Linear Algebra") с полностью интерактивными иллюстрациями. Авторы говорят, что это первый мире учебник такого рода.
Читать дальше →

HTML5-версия StarCraft

Reading time1 min
Views31K


Оригинальная игра StarCraft (с дополнением Brood War) портирована на HTML5. Теперь этот шедевр от студии Blizzard Entertainment запускается прямо в браузере. Правда, это пока что не полная игра, а только демо-уровни, но выглядит вполне достойно. Разработчик немало потрудился, портируя код с языков программирования C, C++ и ассемблера на Javascript.
Читать дальше →

Хабрахабр присвоил всем по «собачке»

Reading time2 min
Views29K
В международный день грамотности (International Literacy Day) Хабрахабр ввел некоторые изменения и присвоил каждому пользователю по «собачке». Теперь рядом с логином под своей публикацией Вы можете наблюдать такое «безобидное создание», как знак @.

Читать дальше →

Github добавил настройки доступа к веткам (protected branches)

Reading time2 min
Views46K
imageГитхаб — великолепный агрегатор репозиториев и инструмент для коллективной работы. К сожалению, многие возможности конфигурирования на стороне сервера (вроде коммит хуков) остаются недоступными. Но ситуация постепенно меняется в лучшую сторону.

Случилось то, чего многие ждали довольно долго. А именно: недавно была анонсирована фича, под названием protected branches, которая позволяет настроить правила работы с ветками в рамках репозитория. Да, теперь можно запретить force push в master!

Под катом скриншоты и выдержки из блога разработчиков.
Читать дальше →

Браузер Chrome научился обманывать блокировщики рекламы

Reading time1 min
Views60K
Если у вас последняя версия Chrome/Chromium и установлено расширение для блокировки рекламы вроде uBlock или AdBlock Plus, то вы могли заметить странное изменение в работе блокировщика. После обновления на последнюю версию Chrome/Chromium 45 в видеороликах YouTube снова появилась реклама. В начале некоторых видеороликов приходится просмаnривать рекламу продолжительностью до трёх минут.

Несколько дней после выхода новой версии браузера проблему обсуждали в баг-трекере Chromium и на форуме разработчиков uBlock. Как выяснилось, баг затронул все блокировщики рекламы, а блокировка отключилась не только на YouTube, но ещё на Spotify и некоторых других сайтах.

К счастью, «баг» в браузере легко устранить самостоятельно.
Читать дальше →

Фурье-вычисления для сравнения изображений

Reading time10 min
Views66K
Традиционная техника “начального уровня”, сравнения текущего изображения с эталоном основывается на рассмотрении изображений как двумерных функций яркости (дискретных двумерных матриц интенсивности). При этом измеряется либо расстояние между изображениями, либо мера их близости.

Как правило, для вычисления расстояний между изображениями используется формула, являющаяся суммой модулей или квадратов разностей интенсивности:
d(X,Y) = SUM ( X[i,j] — Y[i,j] )^2

Если помимо простого сравнения двух изображений требуется решить задачу обнаружения позиции фрагмента одного изображения в другом, то классический метод “начального уровня”, заключающийся в переборе всех координат и вычисления расстояния по указанной формуле, как правило, терпит неудачу практического использования из-за требуемого большого количества вычислений.

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

Наличие большого числа библиотек, реализующих Фурье преобразований (во всевозможных вариантах быстрых версий), делает реализацию алгоритмов сравнения изображений не очень сложной задачей для программирования.
Читать дальше →

Функциональное программирование должно стать вашим приоритетом №1 в 2015 году

Reading time7 min
Views49K

— ООП не сможет больше спасать нас от «Облачных монстров».



Примечание переводчика: Есть два понятия — параллельность (выполнение одновременно, независимо) и конкурентность (выполнение по шагам, поочерёдно, но одновременно несколько задач) и как всегда, мне пришлось поломать голову подобрая правильные термины.

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


Возможно вы уже слышали такое выражение, вроде: “Clojure”, “Scala”, “Erlang” или даже “Java теперь имеет лямбды”. И вы имеете хоть и отдалённое представление о «Функциональном программировании». Если вы участник какого-либа программисткого сообщества, тогда эта тема могла уже вами обсуждаться.

Если вы поищите в Google по словосочетанию «Функциональное программирование», вы не увидите что-то нового. Второй язык из созданных ранее уже охватывает эту тему, он был создан в 50-ых и называется Lisp. Тогда, какого чёрта, эта тема стала популярна только сейчас? Всего то 60 лет спустя?

В начале, компьютеры были очень медленными



Верите вы этому или нет, но компьютеры были нааамного медленнее чем DOM. Нет, действительно. И в то-же время были 2 основные идеи в соглашении по дизайну и реализации языков программирования:



Читать дальше →

15 тривиальных фактов о правильной работе с протоколом HTTP

Reading time7 min
Views241K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →

Microsoft добавил средство сбора телеметрии в Windows 7/8/8.1

Reading time1 min
Views301K
Сегодня на MS Windows 7 и 8.1 прилетели обновления KB3080149 и KB3075249. Телеметрическая информация передаётся на следующие сервера:
vortex-win.data.microsoft.com
settings-win.data.microsoft.com

Передача осуществляется через TCP по порту 443 с использованием SSL.
Для параноиков людей, беспокоящихся о несанкционированной передаче информации Microsoft (далее возможно и третьим лицам), предлагаю добавить сервера в список исключений маршрутизатора, а следующие строчки в файл hosts (%windir%\System32\drivers\etc\hosts):
127.0.0.1 vortex-win.data.microsoft.com
127.0.0.1 settings-win.data.microsoft.com

Полиция заставила китайского разработчика удалить код с GitHub

Reading time1 min
Views70K
Разработчик из Китая под ником @clowwindy — автор таких проектов, как Shadowsocks и ShadowVPN, позволяющих обходить блокировку сайтов в интернете; и, в частности, Великого китайского фаерволла. Сегодня он написал в комментарии на Github:
Позавчера ко мне пришла полиция и попросила прекратить работу над этим. Сегодня они потребовали удалить весь код с GitHub. Мне ничего не остается, кроме как подчиниться.
Читать дальше →

jQuery Video Extend — расширение возможностей HTML5 видео плеера

Reading time3 min
Views25K
Часто вижу, что владельцы сайтов и разработчики используют видео-плееры вроде VideoJS, Flowplayer, Uppod и т.д., но очень редко вижу стандартные HTML5 плееры на сайтах. Мне это кажется странным, ведь обычные плееры в браузерах тоже выглядят очень симпатично. Что есть у стандартного «браузерного» видео плеера:

  1. Стильный дизайн. Зависит от браузера, но везде на хорошем уровне.
  2. Поддержка самого популярного формата — Mpeg4 (H.264) (Chrome, Firefox, IE, Safari, Opera).
  3. Очень удобное API — http://www.w3.org/2010/05/video/mediaevents.html
  4. Быстрая работа и поддержка мобильных устройств.

Почему же такие плееры не популярны? Вот список возможных причин:

  1. Нет простого способа добавить свой логотип.
  2. Нет поддержки FLV видео, которое часто ещё встречается.
  3. Нет возможности ставить метки на видео и создавать свои расширения.
  4. Нет возможности менять внешний вид и стиль плеера.

С последним пунктом сложнее всего, но довольно редко эта возможность используется и на плеерах, о которых я писал в начале. Чаще используется первая стандартная тема оформления. Первые три пункта я решил восполнить, написав jQuery плагин, так появился Video Extend.
Читать дальше →

Запущена первая в мире ММО-стратегия для программистов

Reading time3 min
Views46K
Почему первая? Потому что раньше были игры для программистов, и были стратегические ММО-игры. Но до нас еще никто не делал игру, которая одновременно и является ММО с единым постоянным миром, и при этом целиком и полностью ориентирована на программистов.

В ноябре прошлого года мы запустили краудфандинговую кампанию на Indiegogo, собранные средства с которой позволили доработать прототип до полноценного продукта. Весь июнь и июль получившие приглашение игроки тестировали версию Early Preview. И вот, теперь мы объявляем о публичном запуске этого необычного проекта. Встречайте Screeps!



Под катом небольшое описание, отзывы и технические подробности проекта.
Читать дальше →

Как Windows 10 собирает данные о пользователях

Reading time5 min
Views414K


Информация о том, что Windows 10 собирает данные о пользователях, не нова. Еще в 2014 году компания Microsoft опубликовала заявление о конфиденциальности, из которого следует, что на ее серверы может передаваться информация об использованных программах, устройстве и сетях, в которых они работают. Эти данные могут объединяться с идентификатором пользователя (учетная запись Microsoft), также собирается информация об адресе электронной почты, предпочтениях, интересах местоположении, и многом другом.

Чешское издание Aeronet.cz опубликовало расследование неназванного ИТ-специалиста, который решил отследить активность Windows 10 по сбору данных. В ходе исследования использовались следующие инструменты: программа Destroy Windows 10 Spying, блокирующая передачу данных на серверы Microsoft, PRTG Network Monitor, Windows Resource Monitor и Wireshark. По мнению исследователя, Windows 10 — больше похожа на терминал по сбору данных, чем на операционную систему.
Читать дальше →

Разговор со спикерами FPConf

Reading time6 min
Views4.9K
Привет!

Конференция FPConf уже в эту субботу, нас аж 160 и еще не поздно заскочить в последний вагон. Регистрация — тут.

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

image

В объектно-ориентированных языках есть широко известный список паттернов проектирования (design patterns) от «Банды четырех» (Gang of Four). В функциональных языках такого известного списка не существует. С вашей точки зрения, почему так?
Подобные паттерны не нужны при программировании на функциональных языках или просто их канонический список еще не сложился?


Читать дальше →

Сюжетно-ориентированные игры

Reading time8 min
Views58K
Классические компьютерные игры начались ещё, собственно, до появления компьютеров в виде интерактивных книг. Скорее всего, в детстве у вас была одна такая либо Браславского, либо вообще из цикла про Стальную Крысу Гаррисона.



Смысл очень прост: внутри подаётся сюжет, который зависит от вашего выбора. Простейшее ветвление такое: вы дошли до развилки. Если вы хотите повернуть направо, откройте страницу 11, если налево – 182. На соответствующих страницах будет продолжение истории про то, что случится после вашего выбора.

Базовый сюжет строился в виде системы узлов и переходов. За один проход вы задействовали примерно 25-35% страниц книги.



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

MCMC и байесова статистика в BASIC

Reading time5 min
Views14K
BASIC был одним из самых распространенных языков программирования. В 80-х он шел в стандартном наборе программ на компьютере (например, Commodore 64 и Apple II), а в 90х и DOS и Windows 95 включали в себя QBasic IDE.

QBasic был также моим первым языком программирования. Я не программировал на Бейсике уже почти 20 лет и решил вспомнить этот действительно странный язык. Поскольку я провел много времени за байесовскими алгоритмами, я подумал, что будет интересно увидеть как байесовская аналитика будет выглядеть в утилите 20-летней давности.

image
Читать дальше →

В Шотландии запретят посев генномодифицированных зерновых

Reading time3 min
Views9.4K
image

9 августа министр сельского хозяйства Шотландии, Ричард Лоххед, объявил о введении запрета на выращивание генетически модифицированных зерновых культур на территории страны. Согласно новым правилам Евросоюза страны могут отказаться выращивать ГМ-зерновые в одностороннем порядке. Министр объяснил это защитой имиджа Шотландии как «чистой и зелёной страны».

Специалистами уже давно получены научные данные об отсутствии повышенной опасности продуктов, изготовленных из генетически модифицированных организмов в сравнении с продуктами, полученными из организмов, выведенных традиционными методами. В докладе комитета Еврокомиссии от 2010 года указано, что за 25 лет было проведено более 130 исследований, в которых участвовали более 500 независимых групп. И все исследователи согласны с тем, что биотехнологии и, в частности, ГМО как таковые не более опасны, чем, например, традиционные технологии селекции растений.

При этом общественное мнение сохраняет крайне негативное отношение к ГМО-продуктам. В той же Европе только 5% всех жителей доброжелательно относятся к модифицированным продуктам, а 95% убеждены, что они способны нанести серьезный вред здоровью. Общество в целом не слишком осведомлено об основах биотехнологий и о генетике.

image
Министр сельского хозяйства Шотландии Ричард Лоххед
Читать дальше →

Ритм игрового процесса – зачем нужна база

Reading time6 min
Views27K


Самое интересное в игре, как правило, связано с напряжением. С другой стороны, постоянно находиться в напряжении нельзя, поэтому требуется «отпускать» игрока и давать ему расслабиться.

Механика базы работает чертовски просто:
  1. В игре создаётся некое место, где игроку приятно и безопасно проводить время.
  2. После периода напряжения игрок отправляется в это место.
  3. Закончить в этот момент сложно. Кто будет отказываться от приятного «отдыха»? Нет, из игры не выходят перед приятной частью.
  4. Далее мы стараемся без перехода выводить игрока в следующий цикл, требующий напряжения – так, чтобы игрок не успел понять, как там оказался.

В итоге получается механика, когда игрок просто не может остановиться перед следующим сложным этапом, потому что вместо выбора и рефлексии он уже там.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity