Pull to refresh
8
0
Приймачук Василий @ActiveObject

User

Send message

Дата-майнинг и эвристики поиска места в ресторанах: почти та же проблема, что со свободной парковкой

Reading time5 min
Views9.7K

Красные точки — нет столиков, зелёные — есть места

Проблема с попаданием в рестораны в Москве в часы пик общеизвестна: можно не сесть за столик в обед к бизнес-ланчу или просто не найти место в пятницу вечером.

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

Я продолжаю рассказывать про краудинвестинговые проекты, которые есть на Смартмаркете (напоминаю – мы площадка типа кикстартера, только в РФ и с покупкой доли в прибыли компании). Решение описанной проблемы – суть стартапа bocco. Идея проекта — отображение загруженности ресторанов в реальном времени. Житель крупного города просто достаёт смартфон и говорит своим спутникам: «А вот за этим домом свободное кафе, в котором тихо и уютно. Пошли туда!». Они огибают очередь и направляются в место, где смогут спокойно посидеть.
Читать дальше →

Обзор ECMAScript 6, следующей версии JavaScript

Reading time6 min
Views99K
Для начала, ликбез и несколько фактов:
  • ECMAScript — это официальный стандарт языка JavaScript (Слово JavaScript не могло быть использовано, потому что слово Java являлось торговой маркой компании Sun) Т.е. JavaScript — это имплементация стандарта ECMAScript.
  • TC39 — комитет, развивающий стандарт ECMAScript и принимающий решения по включению фич в него.
  • ECMAScript стандартов много. Самый популярный из них — ECMA-262.
  • ECMAScript 5 — последняя редакция стандарта ECMA-262 (утвержден в 2009 году).
  • Предыдущие версии стандарта ECMA-262 были (совсем старые не упоминаю):
    • ECMAScript 3 — поддерживается большинством браузеров (утвержден в 1999 году).
    • ECMAScript 4 — не принят в виду слишком радикальных изменений в стандарте. Позднее в июле 2008 году в урезанном варианте (но все же намного богаче, чем ECMAScript 3) вылился в новый проект ECMAScript Harmony.

  • ECMAScript 6 (кодовое имя ECMAScript.next) должен утвердиться до конца 2013 года.


Итак, что же нас ждет в новой версии JavaScript?

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

ONDA V972 — новое поколение китайских планшетов

Reading time8 min
Views137K
Семимильными шагами китайская продукция приближается к качеству всемирноизвестных брендов. В данном обзоре я расскажу вам об одном из представителей нового поколения китайских планшетов, ключевой особенностью которых является наличие нового четырехъядерного процессора на архитектуре Cortex A7 и экрана с высокой плотностью пикселей — ONDA V972.
image

image 9.7-дюймовый IPS экран с разрешением 2048х1536
image Двухъядерный видеоускоритель PowerVR SGX544MP2 (8 потоковых процессоров)
image Четырехъядерный процессор Allwiner A31 на архитектуре Cortex A7
image 2 ГБ оперативной памяти
image Операционная система Android JB 4.1.1
image 16/32 ГБ пользовательской памяти + слот для карт памяти MicroSD
image 2 камеры: задняя 5 Мп и фронтальная 2 Мп
image Коммуникации: Wi-Fi (802.11 b/g/n)
image Дополнительно: USB OTG
image Li-pol аккумулятор емкостью 8000 мАч
image Габариты, масса: 242.6x187.5x9.8 мм, 649 грамм

На рынке планшет представлен в двух цветах — черном и белом. Также доступны версии с 16 и 32 ГБ встроенной памяти, цена за младшую стартует с отметки в 240 долларов.
Читать дальше →

Dater — определяет часовой пояс, локализует и форматирует время в PHP

Reading time4 min
Views22K


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

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

И так, встречайте — Dater, и его основные возможности:

  • Биндинг форматов
  • Локализация текстов и форматов
  • Расширение списка опций форматирования
  • Автоопределение часового пояса
  • Конвертация времени с учётом часового пояса
  • Автоматическая конвертация времени в $_GET, $_POST, $_REQUEST с учётом часового пояса
  • Автоматическая конвертация часового пояса в шаблоне отправляемых данных
Читать дальше →

Почему стоит изучить Clojure?

Reading time17 min
Views150K

Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать дальше →

10 «однострочников», которые произведут впечатление на ваших друзей

Reading time13 min
Views42K
За последнюю неделю появилось несколько топиков с названием «10 однострочников на <MY_LANGUAGE>, которые произведут впечатление на ваших друзей», которые содержат однострочное решение нескольких простых задач, демонстрирующее достоинства и «крутость» любимого языка программирования автора. Я решил перевести их и для сравнения собрать в одном топике. Вся волна началась (вроде как) со Scala.
Итак, поехали!
Читать дальше →

Сказ о том, как один нерадивый провинциал в MIT поступал

Reading time9 min
Views413K
Всем здравствуйте, меня зовут Олег, мне 17 лет, и сегодня я расскажу вам о процессе поступления в MIT.
Дабы сохранить цельность повествования, следует отметить, что статья написана 15 марта 2013 года, в день оглашения вердиктов о зачислении студентов.
image
Картинка для привлечения внимания

Когда я поступал в Массачусетский технологический институт, я с удивлением обнаружил, что в рунете нет не то что мало-мальски съедобной «истории успеха», связанной с поступлением в MIT, а вообще хоть какого-то руководства по поступлению в топовые американские университеты своими силами. Особенно на бакалавриат. Я подумал: «Что ж, видимо, придется написать мне». Я постараюсь донести информацию в наиболее понятном виде.
Читать дальше →

Автобусер — прогноз прибытия маршруток в твоём городе

Reading time2 min
Views8.5K
image

Доброго времени суток, уважаемые хабражители!



Я хочу рассказать Вам о своём Android приложении, которое, возможно, вы найдете для себя полезным и/или интересным.

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







Как это работает:

Дистанционное обучение с помощью мобильных устройств

Reading time4 min
Views104K
Еще 10—20 лет назад полноценное дистанционное обучение было практически невозможным. Необходимость переезда в другой город или даже страну являлась, наверное, одной из наиболее частых причин, почему предпочтение отдавалось местным вузам, вместо того чтобы поступать в университеты своей мечты. Да, существует заочное образование, но мы прекрасно понимаем, что в большинстве случаев данная форма образования — всего лишь для галочки. К счастью, в настоящее время есть возможность учиться, было бы желание. Для тех, у кого с желанием все в порядке, прошу под кат.

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

Общественный транспорт в мобильном телефоне

Reading time5 min
Views7.3K
Сейчас уже во многих городах появились сервисы, которые показывают движение общественного транспорта на карте. Наш Курган — не исключение. Вот только одна проблема: чтобы просмотреть, где едут автобусы, нужен компьютер или хотя бы мощный смартфон, который сможет загрузить всю карту. Если же вы много перемещаетесь по городу, то максимум, что у вас есть под рукой — обычный телефон, на котором ни о какой карте не может быть и речи.

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

Итак, поехали...

Что почитать? Предложения по изданию компьютерных книг. Часть 1

Reading time1 min
Views13K


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

Издание книг дело непростое, небыстрое и достаточно творческое. Каждую книгу, тему мы тщательно обдумываем, анализируем, прежде чем подписать лицензию на перевод или договор с автором. Процесс перевода или написания книги занимает несколько месяцев в зависимости от объема материала. Редактура, верстка и печать тиража занимает еще несколько месяцев. Вот так чуть ли не на каждую книгу уходит полгода работы, прежде чем она появится в продаже.

Мы не стоим на месте и идем в ногу со временем. Мы стараемся делать книги по актуальным темам, ускоряем процесс производства, на все возможные книги делаем электронные варианты. В общем, чего не сделаешь для любимого читателя и быть любимыми).

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

Миграция на Grunt v0.4

Reading time5 min
Views9.1K

Предисловие


18 февраля вышел релиз Grunt v0.4.0, с чем всех и поздравляю. Если вы еще не знакомы с Грантом — прошу пройти на официальный сайт или почитать ознакомительную статью на Хабре. Вкратце, Грант позволяет автоматизировать склеивание и минификацию js-файлов, запуск тестов, проверку кода с помощью JSHint и многое другое.

Данная статья — история миграции одного приложения с Гранта v0.3.9 на вышедшую v0.4.0. Версии несовместимы и переезд оказался не таким простым делом, как я изначально предполагал. Полная инструкция по миграции на английском находится здесь, она подробнее чем мое описание.

Зачем я использую Grunt


Как любому ленивому frontend-разработчику, мне нужен был инструмент, который автоматизирует рутинные задачи, позволяя сосредоточиться непосредственно на разработке. Так я нашел Грант, который делал за меня следующее:

  • компиляция stylus в css;
  • склеивание js-файлов;
  • проверка JavaScript линтером;
  • минификация склеенных js-файлов;
  • запуск unit-тестов (qUnit);
  • отслеживание изменений исходных файлов и автоматический перезапуск вышеперечисленных задач.
Читать дальше →

PyBrain работаем с нейронными сетями на Python

Reading time8 min
Views166K

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

PyBrain — одна из лучших Python библиотек для изучения и реализации большого количества разнообразных алгоритмов связанных с нейронными сетями. Являет собой удачный пример совмещения компактного синтаксиса Python с хорошей реализацией большого набора различных алгоритмов из области машинного интеллекта.

Предназначен для:

  • Исследователей — предоставляет единообразную среду для реализации различных алгоритмов, избавляя от потребности в использовании десятков различных библиотек. Позволяет сосредоточится на самом алгоритме а не особенностях его реализации.
  • Студентов — с использованием PyBrain удобно реализовать домашнее задание, курсовой проект или вычисления в дипломной работе. Гибкость архитектуры позволяет удобно реализовывать разнообразные сложные методы, структуры и топологии.
  • Лекторов — обучение методам Machine Learning было одной из основных целей при создании библиотеки. Авторы будут рады, если результаты их труда помогут в подготовке грамотных студентов и специалистов.
  • Разработчиков — проект Open Source, поэтому новым разработчикам всегда рады.

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

Алгоритм обратного распространения ошибки с регуляризацией на c#

Reading time14 min
Views85K
Привет. Я хочу продолжить тему реализации методов машинного обучения на c#, и в этой статье я расскажу про алгоритм обратного распространения ошибки для обучения нейронной сети прямого распространения, а также приведу его реализацию на языке C#. Особенность данной реализации в том, что реализация алгоритма абстрагирована от реализаций целевой функции (той, которую нейросеть пытается минимизировать) и функции активации нейронов. В итоге получится некий конструктор, с помощью которого можно поиграться с различными параметрами сети и алгоритма обучения, посмотреть и сравнить результат. Предполагается, что вы уже знакомы с тем, что такое искусственная нейросеть (если нет, то настоятельно рекомендую для начала изучить википедию или одну из подобных статей). Интересно? Лезем под кат.

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

Предобучение нейронной сети с использованием ограниченной машины Больцмана

Reading time9 min
Views55K
Привет. Как и планировалось в прошлом посте об ограниченных машинах Больцмана, в этом будет рассмотрено применение RBM для предобучения обыкновенной многослойной сети прямого распространения. Такая сеть обычно обучается алгоритмом обратного распространения ошибки, который зависит от многих параметров, и пока не существует точного алгоритма выбора этих самых параметров обучения, как и оптимальной архитектуры сети. Разработано множество эвристик, позволяющих сократить пространство поиска, а также методик оценки качества выбранных параметров (например, кросс-валидация). Мало того, оказывается, и сам алгоритм обратного распространения не так уж хорош. Хотя Румельхарт, Хинтон и Вильямс показали сходимость алгоритма обратного распространения (тут еще более математическое доказательство сходимости), но есть небольшой нюанс: алгоритм сходится при бесконечно малых изменениях весов (т.е. при скорости обучения, стремящейся к нулю). И даже это не все. Как правило, этим алгоритмом обучают небольшие сети с одним или двумя скрытыми слоями из-за того, что эффект обучения не доходит до дальних слоев. Далее мы поговорим подробнее о том, почему же не доходит, и применим технику инициализации весов с помощью обученной RBM, которую разработал Джеффри Хинтон.

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

Реализация Restricted Boltzmann machine на c#

Reading time12 min
Views42K
Привет. Закончился курс по нейронным сетям. Хороший курс, но мало практики. Так что в этом посте мы рассмотрим, напишем и протестим ограниченную машину Больцманастохастическую, генеративную модель нейронной сети. Обучим ее, используя алгоритм Contrastive Divergence (CD-k), разработанный профессором Джеффри Хинтоном, который кстати и ведет тот курс. Тестировать мы будем на наборе печатных английских букв. В следующем посте будет рассмотрен один из недостатков алгоритма обратного распространения ошибки и способ первоначальной инициализации весов с помощью машины Больцмана. Кто не боится формулок и простыней текста, прошу под кат.

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

О компиляторах и интерпретаторах

Reading time2 min
Views68K

Если ты всегда мечтал написать свой язык программирования — добро пожаловать. Здесь ты наверняка найдёшь для себя что-нибудь интересное.

GitHub-юзер yawnt собрал чудесную подборку ссылок для любителей драконов, языков и прочих вкусных внутренностей. А знающие камрады в комментариях наверняка поделятся с тобой и другими яствами.

Пишет yawnt следующее:

С каждым днём мне всё интереснее тема компиляторов, интерпретаторов и дизайна языков программирования в целом. И я решил поделиться с народом ссылками на собранные мной материалы (большую часть мне самому ещё предстоит прочитать :<). Надеюсь, кому-нибудь они окажутся полезными.

Я не включил (и не собираюсь) в список ссылки на официальную документацию, т. к. считаю очевидным, что первым делом следует смотреть именно туда ;P.
Итак, куча интересных ссылок

Магистратура Академического университета РАН: делимся опытом

Reading time7 min
Views25K
Кафедра математических и информационных технологий Санкт-Петербургского Академического университета РАН создана в 2008 году. В этом году ей исполняется 5 лет. Настало время подвести промежуточные итоги и поделиться опытом с сообществом.

Мы уже несколько раз писали об этом на хабре. Правда раньше мы ограничивались сухими объявлениями.

Зачем мы решили открыть кафедру?


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

Фильтр Калмана

Reading time10 min
Views456K


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →

Information

Rating
Does not participate
Location
Луцк, Волынская обл., Украина
Registered
Activity