Архив за 03 апреля 2015 - 9

Когда роботы «витают в облаках»: Пять составляющих облачной робототехники - 1

Потенциал использования роботов еще не раскрыт, однако облачные технологии в скором времени окажут нам в этом невероятную поддержку. В этой статье я расскажу о том, как новое поколение роботов может использовать облачные технологии, Большие данные, машинное обучение, системы с открытым кодом и «Интернет вещей» для того, чтобы больше помогать нам в различных задачах: от вождения автомобиля и работы по дому до проведения хирургических операций.

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

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

Есть маленький ИТ-отдел в средних размерах организации с филиальной структурой. Сотрудники ИТ-отдела практически постоянно в разъездах по разным филиалам и не всегда бывают доступны по мобильному телефону. Для удобства сотрудников организации было принято решение сделать единый (легкозапоминающийся) номер для технической поддержки. В случае, если техподдержка занята или просто никого нет на месте — звонок должен переадресовываться на мобильные телефоны инженеров и информация о звонке должна прийти в виде сообщения в Jabber.
Читать полностью »

Генерация кода во время исполнения или «Пишем свой JIT-компилятор» - 1
Современные компиляторы очень хорошо умеют оптимизировать код. Они удаляют никогда не выполняющиеся условные переходы, вычисляют константные выражения, избавляются от бессмысленных арифметических действий (умножение на 1, сложение с 0). Они оперируют данными, известными на момент компиляции.
В момент выполнения информации об обрабатываемых данных гораздо больше. На её основании можно выполнить дополнительные оптимизации и ускорить работу программы.
Оптимизированный для частного случая алгоритм всегда работает быстрее универсального (по крайней мере, не медленнее).
Что если для каждого набора входных данных генерировать оптимальный для обработки этих данных алгоритм?
Очевидно, часть времени выполнения уйдёт на оптимизацию, но если оптимизированный код выполняется часто, затраты окупятся с лихвой.
Как же технически это сделать? Довольно просто — в программу включается мини-компилятор, генерирующий необходимый код. Идея не нова, технология называется “компиляция времени исполнения” или JIT-компиляция. Ключевую роль JIT-компиляция играет в виртуальных машинах и интерпретаторах языков программирования. Часто используемые участки кода (или байт-кода) преобразуются в машинные команды, что позволяет сильно повысить производительность.
Java, Python, C#, JavaScript, Flash ActionScript — неполный (совсем неполный) список языков, в которых это используется. Я предлагаю решить конкретную задачу с использованием этой технологии и посмотреть, что получится.
Читать полностью »

Как жилось доисторическим зверушкам в триасовый период — время, когда природа впервые начала подумывать над созданием млекопитающего?

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

Эти монстры жили на Земле 200 млн лет назад

Читать полностью »

Кормушка для животных с применением ATTiny85 - 1

Собираясь в прошлом году в отпуск, решил приобрести автоматическую кормушку для домашних питомцев. Выбор был сделан в пользу изделия брэнда Animal Planet. Уже точно не помню, почему именно была выбрана эта модель, вероятно, на тот момент времени она оптимально сочетала в себе невысокую цену и достаточно хорошие потребительские свойства, представление о которых были составлены по отзывам на веб сайте amazon.com.

Устройство было в скором времени получено по почте, собрано, включено и в него был засыпан корм. Кошки сразу одобрили дизайн, радостно прибегали на шум моторчика и принимались поедать корм еще до того, как он заканчивал высыпаться сверху из бачка. Все бы хорошо, если бы не одно «но». Мне никак не удавалось добиться того, чтобы корм высыпался по установленному расписанию, ради чего собственно и затевалось дело. Но пытливые руки не сдавались и экспериментально было выяснено, что расписание иногда работает, правда, только при условии, что изначально не устанавливалось реальное время на часах. Поняв, что имею дело с явным «багом», обратился к продавцу и тот радостно заверил, что это известная проблема и мне бесплатно заменят устройство более новой версией, лишенной указанной проблемы.
Читать полностью »

Продолжим тему, начатую в прошлой слесарно-программистской статье про AspectJ и open source расширение для этой библиотеки aspectj-scripting. В этой заметке рассмотрим какие задачи решает аспектно-ориентированное программирование (AOP) на примере и синтаксисе самой известной библиотеки среди адептов этой методологии. AspectJ — дитя Xerox PARC, теперь совершеннолетнее и живущее в Eclipse Foundation.

Аспектно-ориентированное программирование. Основы - 1
(фото из статьи на lurkmore про евроремонт)

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

Disclaimer: Я не теоретик, поэтому рассказанное в статье субъективно, пропущено через призму опыта.
Читать полностью »

IBM и Semtech представили новую сетевую технологию LoRaWAN для М2М-коммуникаций - 1

Исследовательский центр IBM Research и компания Semtech представили новую энергоэффективную сетевую технологию на базе WAN, которая предлагает значительные преимущества перед сотовыми сетями и WiFi благодаря возможности развертывания межмашинных (M2M) коммуникаций.

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

Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com - 1

Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

Примечание: публикация основана на содержании репозитория What happens when...

Представленный контент изобилует большим количеством терминов, в переводе некоторых из них могут присутствовать различные неточности. Если вы обнаружите какую-то ошибку в нашем переводе — напишите личным сообщением, и мы всё исправим. Читать полностью »

В Сети можно встретить множество историй пользователей iPhone, которые переходят на Android-смартфоны и делятся своими впечатлениями. Следующая история довольно нетипичная: пользователю iPhone 6 пришлось пользоваться смартфоном с квадратными дисплеем BlackBerry Passport.

Британец сменил iPhone 6 на BlackBerry Passport и рассказал о своих впечатлениях

Читать полностью »

Добрый день, уважаемые друзья. Рад представить на ваше обсуждение мое видение технологии создания фирмы. Первая статья — определение миссии, целей и принципов компании. Ведь без них никуда, правда?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js