Публикации

сегодня в 12:36

Космический ландшафт

Доброго времени!
У нас вышла новая книга Леонарда Сасскинда

image

По мере того, как физики все глубже проникают в тайны устройства Вселенной, они все больше убеждаются, что нам чертовски повезло, что она устроена именно так, а не иначе. Стоит хотя бы на йоту изменить любую из физических констант, и существование жизни и возникновение человека в этой Вселенной станет невозможным. Почему это так? Нет ли здесь проявления разумного замысла неизвестного Творца, специально создавшего именно такой мир, в котором мы живем? «Нет, — доказывает Леонард Сасскинд, — разумный замысел — это иллюзия». На смену господствовавшей в XVIII–XX веках парадигме, требовавшей от науки объяснять все, приходит новая концепция — существования невообразимого космического ландшафта, огромного количества вселенных с неисчислимым набором свойств, и мы живем в одной из них попросту потому, что в других мы бы жить не смогли.
сегодня в 12:51

PowerShell: за гранью

Какие бы хвалебные оды не пелись в адрес PowerShell, всегда найдется тот, кто подбросит дегтя в боченок с медом. Нет, я не имею в виду себя, так как в виду своей природы мне непонятны все эти словесные перепалки между людьми, культивирующими те или иные операционные системы, командные шеллы и прочее, — еще ничто из того, что было бы создано человеком, не было совершенным, да и вряд ли таковое когда-либо случится, так как нельзя удержать в поле зрения абсолютно все аспекты предмета, не говоря уже о том, что в некоторых из них человек может оказаться не сведущ вовсе. Предмет — всего лишь средство в достижении поставленой цели, насколько эффективно он используется — это уже вопрос рационального подхода к его характеристикам.
2445
17
сегодня в 10:18

Имитационная модель логистического центра из песочницы

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

Постановка задачи (описание процесса)


В логистический центр по согласованному с поставщиком календарю поставок прибывает известное количество товаров одного типа. При переполнении склада заявка на поставку товаров заведомо отменяется. Товар поступает, хранится и передается в розничную точку продаж в упаковках по 8 шт. По прибытию машину встречает сотрудник центра (кладовщик), проверяет наличие необходимой сопроводительной документации, актов соответствия/качества, первичной бухгалтерской документации и сопровождает машину в зону разгрузки.

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

Комплектовщики при помощи погрузочного оборудования (электрический погрузчик) комплектуют в зоне отгрузки поставку в розничную точку продаж. Комплектация проводится при достижении остатка товара в розничной точке продаж точки восполнения запаса (точки перезаказа).

После комплектации стандартной партии отгрузки товар передается в точку розничных продаж для реализации.
Необходимо разработать модель представленного процесса для дальнейшего проведения оптимизационных экспериментов (например, определения точки перезаказа при условии отсутствия нулевого остатка в розничной точке продаж).
сегодня в 13:38

Задачи по алгоритмам

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

Сегодня хочу поделиться с Вами двумя задачами с этих семинаров.

Задача 1. На прямой даны n отрезков, нужно выбрать максимальное по размеру подмножество непересекающихся.

Задача 2. На окружности даны n дуг (отрезков), нужно выбрать максимальное по размеру подмножество непересекающихся.
сегодня в 13:36

Бесплатная онлайн школа Android-разработчиков



Первый Android телефон T-Mobile G1 был представлен в октябре 2008, а сейчас уже насчитывается более 1 миллиарда активных пользователей платформы по всему миру. По статистике 1,5 миллионов Android-устройств активируется каждый день. Приложения и разработчики являются основной составляющей Android экосистемы, поэтому для нас задача обучения и помощи разработчикам является одной из самых приоритетных.

Сегодня компании e-Legion и Google совместно запускают первую онлайн школу мобильных Android–разработчиков.

Начиная с 2011 года компания-разработчик мобильных приложений e-Legion организовывала бесплатные оффлайн школы мобильных разработчиков. Первой стала iOS-школа, которая собрала больше 200 заявок и выпустила 12 студентов осенью 2011 года. Потом были школы мобильных разработчиков под Windows Phone и Android. С каждым анонсом на Хабре нас ждал вопрос о том, будет ли запись лекций и можно ли поучаствовать тем, кто живет не в Питере. Каждый раз мы отвечали что-то из серии «скоро все будет». И вот, наконец-то, это «скоро» наступило. Мы решили создать школу, в которую сможет поступить желающий из любого города и которую можно пройти дистанционно.
4755
64
inatale 21,9
сегодня в 13:20

Qbaka Vision — анализ поведения пользователей сайта

Привет, Хабр. Кубака официально с вами (давно пора).

Для тех, кто о нас не слышал — рады познакомиться, мы делаем мониторинг javascript-ошибок на сайте.
А в этом году запустили аналитику поведения пользователей Vision. О ней и хотим рассказать.



Популярные средства анализа заточены под веб 10-летней давности. Они измеряют просмотры страниц, а не смысл действий.
Вы наверняка замечали, что основные сервисы аналитики сложные и запутанные. Мы сами из-за этого долго не занимались анализом, хотя хотели. А где препятствия, там возможность упростить. Vision — это попытка сделать аналитику ближе к людям.
1517
16
amima 12,7
сегодня в 11:05

Игорь Ашманов о будущем домашних роботов. Домашние роботы: накануне торнадо

Доброго времени суток, Хабровчане!

Этим постом, который является переработанной отекстовкой выступления Игоря Ашманова в рамках конференции Skolkovo Robotics Conference 2015 в Гиперкубе «Сколково» 21 марта, проект Лекси (ВК, FB) открывает серию постов о проекте, используемых технологиях, собственных разработках и пережитом опыте команды. Данный пост является своего рода вступлением, кратким обзором отрасли и озвучивает читателю ряд актуальных вопросов.

К посту прикрепляем полное видео выступления:


2185
24
сегодня в 11:32

Project Spartan уже почти здесь



Cвежее обновление предварительной версии Windows 10 дало возможность включить механизм отображения страниц в режиме будущего браузера Project Spartan, а ещё будет возможным писать интерактивные сайты с системной интеграцией.

6993
11
Reeze 13,5
сегодня в 12:22

Как могла бы выглядеть поддержка JSON в современном С++ tutorial

Хорошо в плане поддержки JSON живётся программистам на Javascript — по какому-то невероятному стечению обстоятельств там JSON входит в спецификацию самого языка: есть JSON — есть объект. Удобно. Неплохо дело обстоит и в языках, где JSON не входит в сам язык, но поддерживается стандартной библиотекой (Python, Ruby): импортируешь модуль — и готово.

Жизнь программистов на С++ никогда не была особо простой — поддержки JSON у нас нет ни на уровне языка, ни в стандартной библиотеке. И не будет, возможно, никогда. «Тоже мне проблему нашел!» — скажут мне опытные коллеги — «Её там и не должно быть, С++ поставляется без „батареек“. Для решения этой задачи мы...» и вот здесь они разделятся на два лагеря:

1. «Мы используем большой фреймворк (boost, Qt, POCO, другой), который применяется во всех наших проектах и умеет 150 000 разных вещей, в том числе и JSON.»
2. «Мы придерживаемся подхода в котором для каждой задачи применяется своя легковесная библиотека. В частности, для JSON мы уже 150 000 лет назад выбрали отличную библиотеку %JSON_LIB%, которая прекрасно работает.»

Да, всё так и есть. Вот только…

Чем плох подход с использованием фреймворков
Во-первых, тянуть в проект огромный фреймворк ради одного JSON — как-то уныло. Ну ладно, допустим фреймворк у вас был и так. Но тогда придётся писать работу с JSON в терминах фреймворка, а это, как правило, тихий ужас. Посмотрите, например, на документацию по JSON в Qt — куча собственных типов вроде QJsonArray, QJsonDocument, QJsonObject, QJsonValue и т.д. и их придётся использовать. О том, чтобы потом перенести код в другой проект (где этого фреймворка нет) можно сразу забыть. Ну или вот Boost: парсер JSON находится очень логично в модуле Boost.PropertyTree. Ага, так бы я и догадался. Т.е. нам предлагают плясать не от формата JSON, а от структуры данных «дерево», которая умеет себя читать в том числе и из JSON.

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


Чем плох подход с использованием библиотек
Плох он вот этой частью: "...150 000 лет назад выбрали отличную библиотеку...". Скорее всего речь идёт о чём-то, что начинало писаться чуть-ли не во времена DOSа и, без сомнения, работает, но при этом, пытаясь быть совместимым со всеми платформами и стандартами языка совершенно отстаёт от прогресса. Да, всё компилируется и работает, даже тесты проходит. Но библиотека совершенно не знакома с такими вещами, как ключевое слово auto, range-based циклы, строковые литералы, raw-строки, конструкторы перемещения, списки инициализации и прочие классные вещи, делающие код одновременно более эффективным и более легко читаемым. А ведь у библиотеки, созданной годы назад, есть обязательства по обратной совместимости, а значит просто так взять и добавить это всё она не может.


Давайте немного помечтаем.

А что, если бы JSON вошел в стандартную библиотеку нового стандарта С++? Что, если бы он был написан в терминах С++11\14 и без требований обратной совместимости со старыми стандартами языка? Что, если бы синтаксис этого модуля попытались бы сделать максимально приближенным к родному для JSON использованию «а-ля Javascript», но в том же время сохранить дух С++ (эффективность, минимальное потребление памяти, совместимость с STL)? Что, если бы его можно было включить в проект одним инклюдом и не беспокоиться о его сборке и линковке? Как бы это всё выглядело и работало?

И у нас есть ответ на этот вопрос! Давайте посмотрим на JSON-библиотеку для С++ написанную в соответствии со всеми этими принципами, ну и вообще написанной людьми для людей, а не чужими для хищников, как это обычно бывает.
4941
61
tangro 163,5
сегодня в 09:02

Трансляция JumpStart: Управление мобильными корпоративными устройствами

Совсем скоро начнется трансляция JumpStart: Управление мобильными корпоративными устройствами.

Программа мероприятия

12:00 — 13:00 Сценарии мобильной работы
13:00 — 13:15 Перерыв
13:15 – 14:15 Управление гибридными идентификационными данными
14:15 – 15:00 Перерыв
15:00 – 16:00 Регистрация устройств и применение политик
16:00 – 16:15 Перерыв
16:15 – 17:15 Управление данными и приложениями на мобильных устройствах
17:15 – 17:30 Сессия вопросов и ответов

Присоединяйтесь к трансляции 26 марта в 12.00 (MSK). Для просмотра обязательно нужно зарегистрироваться на странице мероприятия.