Публикации

вчера в 21:24

Поиграем в отладку этой воскресной ночью?

Вы когда-нибудь думали, что бывают игры, которые сами по себе являются языком программирования? Не обязательно Тюринг-полным, но всё же языком. У меня есть отличный пример. Игровой процесс Нейрошимы-6 чудовищно похож на дебаг. Снаружи, конечно, смотрится как стратегия, но внутри – она, отладка, родная.

Посмотрите вот на эту картинку из жизни бойцов Пустошей.



Фишки с 20/20 – это командные центры, оставшиеся две — это фишки бойцов с ближней атакой по направлению треугольников по краям. Пока всё просто – синий робот с ножами бьёт желтого ковбоя, а ковбой бьёт по синему комцентру. Давайте усложним стек и запустим компиляцию.
3289
31
Milfgard 159,1
вчера в 22:37

Уведомления могут помочь вам узнать вашу аудиторию лучше + новости + СоХабр



Предисловие



Наверняка вы все еще используете СМС-сообщения или E-mail для уведомления ваших пользователей. Уведомления просто улетают и вы не знаете, что происходит с ними дальше. В PushAll мною была реализована система сбора данных о уведомлениях. Вы сможете сделать рассылку вашим пользователям в канале, после чего следить за тем, что происходит с уведомлениями:
  • Сколько человек получило уведомление
  • Сколько человек открыло уведомление (перешло по ссылке)
  • Сколько человек просто удалило уведомление из списка

Все работает благодаря обратной связи о выполняемых действиях на устройстве.
вчера в 23:00

Знакомство с OsmocomBB: 0x02 Hardware

Привет %username%! Для работы с OsmocomBB необходимо определенное оборудование, на базе которого работает программная часть, а именно: приемо-передающее устройство, Ваш компьютер, выступающий в роли сервера, и кабель, соединяющий их между собой. В роли приемо-передающего устройства (transreceiver) чаще всего выступает обычный сотовый телефон, на котором запущена кастомная прошивка. Для соединения телефона с компьютером может потребоваться преобразователь TTL-USB. Следую инструкциям, опубликованным на сайте проекта, точнее, собирая информацию по кусочкам, можно собрать рабочий аппаратный комплекс, однако на данном этапе начинающему исследователю GSM сетей может встретиться множество подводных камней. Давайте разберемся со всем по порядку.
2078
34
axilirator 24,1
вчера в 23:42

Метапрограммирование: какое оно есть и каким должно быть


Метапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы (wiki). Это достаточно общий термин, к которому, согласно той же википедии, относится и генерация исходного кода внешними инструментами, и различные препроцессоры, и «плагины к компилятору» — макросы с возможностью модификации синтаксического дерева не посредственно в процессе компиляции, и даже такая экзотическая возможность, как самомодифицирующийся код — модификация программы самой программой непосредственно во время выполнения. Хотя, конечно, самомодифицирующийся код — это скорее отдельная большая тема, достойная отдельного исследования; здесь под метапрограммированием мы будем понимать процессы, происходящие во время компиляции программы.
Метапрограммирование реализовано в той или иной мере в очень разных языках; если не рассматривать экзотические и близкие к ним языки, то самым известным примером метапрограммирования является С++ с его системой шаблонов. Из «новых» языков можно рассмотреть D и Nim. Одна из самых удачных попыток реализации метапрограммирования — язык Nemerle. Собственно, на примере этой четверки мы и рассмотрим сабж.
Метапрограммирование — интереснейшая тема; в этой статье я попытаюсь разобраться, что же это такое, и каким оно должно быть в идеальном случае.
1911
31
NeoCode 8,3
вчера в 18:09

Equinix использует топливные элементы Bloom Energy для энергоснабжения дата-центра в Кремниевой Долине



Все большее количество телекоммуникационных компаний переходят на альтернативные источники энергии. Кто-то делает это под влиянием общественности, еще кто-то для диверсификации основных источников энергоснабжения. Компания Equinix решила установить в своем дата-центре из Кремниевой Долины топливные элементы от Bloom Energy, которые работают на биогазе. Первоначальный проект предусматривает установку станции мощностью в 1 МВт в дата-центре SV5. Ожидается, что топливные элементы смогут обеспечить подачу 8,3 миллионов КВт*ч энергии в год.

Equinix сейчас собирается полностью переходить на возобновляемые источники энергии, и предпринимает значительные усилия для достижения этой цели. Сейчас ДЦ компании получают около 30% энергии из альтернативных источников, включая топливные элементы, солнечную энергию и т.п. Что касается топливных элементов, их преимуществом является работа на биогазе, который вырабатывается из органических остатков. Сейчас основная задача энергостанции от Bloom — поддерживать работу энергетической инфраструктуры ДЦ на постоянном уровне, например, во время проблем в основной сети.
2790
7
itNews 83,2
сегодня в 00:42

Печальное состояние сисадмина в эпоху контейнеров перевод

Системное администрирование сейчас в печальном состоянии. Оно в хаосе.

Я не говорю про олдскульных админов, они знают как управлять системами и контролировать обновления.

Проблема в контейнерах, готовых виртуальных машинах (prebuilt VMs), а также в невероятном хаосе, который они создают, потому что в их концепции нехватает «доверия» и «обновлений».

Давайте взглянем на Hadoop. Судя по всему, никто не знает как собирать Hadoop с нуля; это просто огромная куча из зависимостей, необходимых версий и утилит сборки.

Ни одна из «замечательных» утилит не собирается традиционной коммандой make. Каждая утилита поставляется со своим собственным не переносимым и не совместимым c чем-либо «методом дня» для сборки.

И так как никто не умеет собирать вещи с нуля, то все просто скачивают бинарники со случайных веб-сайтов, часто даже без проверки цифровой подписи.
6646
42
cdkrot 22,0
вчера в 23:40

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №161 (18 — 24 мая 2015)

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


вчера в 11:44

Пример векторной реализации нейронной сети с помощью Python tutorial

В статье речь пойдет о построение нейронных сетей (с регуляризацией) с вычислениями преимущественно векторным способом на Python. Статья приближена к материалам курса Machine learning by Andrew Ng для более быстрого восприятия, но если вы курс не проходили ничего страшного, ничего специфичного не предвидится. Если вы всегда хотели построить свою нейронную сеть с преферансом и барышням векторами и регуляризацией, но что то вас удерживало, то сейчас самое время.

Данная статья нацелена на практическую реализацию нейронных сетей, и предполагается что читатель знаком с теорией (поэтому она будет опущена).
5559
102
Arristotel 23,4
вчера в 18:06

Статистика кода JDK 7

Захотелось получить статистику Java исходников — сколько в среднем бывает параметров у методов, методов в классах, конструкторов и т. д. Вопрос не совсем праздный, потому что на основе этих данных можно вычислить оптимальный размер по умолчанию для контейнеров для этих сущностей в программной модели кода (AST), чтобы сэкономить память. В частности, речь идет о проекте Spoon. С помощью этой библиотеки я и провел анализ, кстати.

Что может быть логичнее, чем протестировать статистику исходников JDK, чтобы делать некие предположения о любом Java-коде. Попутно я собрал самые необычные экземпляры — например, методы с наибольшим кол-вом параметров.
7502
15
leventov 18,2
вчера в 14:49

Дайджест интересных материалов для мобильного разработчика #104 (18-24 мая)

На этой неделе было много интересных новостей и кейсов. Роскомнадзор начал блокировать приложения в App Store и Play, Минкомсвязи планировал создать российскую мобильную ОС на базе Sailfish (о чем, впрочем, забыл уведомить Jolla), есть история приложения с рецептами, с девушками (от PapaBubaDiop), история «Связного Трэвел». А также много других интересных материалов в ежедневном дайджесте.