avatar

20-граммовый орнитоптер с системой стереоскопического зрения самостоятельно огибает препятствия

Опубликовал в блог Новости IT технологий
0
В лаборатории миниатюрных летательных аппаратов Делфтского технического университета (Нидерланды) создан самый маленький в мире полностью автономный летающий робот, который способен избегать столкновений с препятствиями без какого-либо внешнего вмешательства. Он делает это с помощью системы стереоскопического зрения, которая весит всего четыре грамма. Общий вес аппарата — двадцать граммов. Орнитоптер, названный DelFly Explorer, способен продержаться в воздухе до девяти минут.

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

[Перевод] Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

Опубликовал в блог Новости IT технологий
0
Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов , я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

Быстрое изменение состояния посреди анимации
Обычно анимации используются для того, чтобы плавно менять свойства элементов со временем. Однако изменения могут также быть практически мгновенными. Для этого надо задать два ключевых кадра с очень маленьким интервалом, например в 0.001%:

<code class="css">@keyframes toggleOpacity {
  50% { opacity: 1; } /* Turn off */
  50.001% { opacity: 0.4; }

  /* Keep off state for a short period */

  52.999% { opacity: 0.4; } /* Turn back on */
  53% { opacity: 1; }
}
</code>
Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства
text-shadow
:


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

DARPA запустит на геостационарную орбиту 20-метровый мембранный телескоп

Опубликовал в блог Новости IT технологий
0
image

Современные военные и коммерческие спутники, занимающиеся фотосъемкой Земли, летают на орбитах высотой в несколько сотен километров. При этом их разрешающая способность достигает 50 см на пиксель. Размещение на низких орбитах создаёт массу неудобств — спутник не может вести непрерывную съёмку одной точки, более того, над нужным местом в нужный момент может вообще не оказаться ни одного спутника. Геостационарная орбита лишена этих недостатков, но с высоты 35 786 км над уровнем моря невозможно получить снимки приемлемого разрешения. Чем выше требования к разрешению, тем больше должен быть диаметр линзы или зеркала телескопа. Настолько больше, что вывести такой громоздкий телескоп на геостационарную орбиту пока что экономически нецелесообразно.
Читать дальше →
avatar

Редактор HTML+CSS+JS в стиле JSfiddle, код которого состоит из 230 символов

Опубликовал в блог Новости IT технологий
0
Хотя неделя 30-строчников закончилась, рискну привести ещё один пример сверхлаконичного кода , который я нашёл в сети. Встречайте четырёхпанельный редактор /CSS/JS, с превью в реальном времени, код которого умещается в 230 символов:

<code class="html"><x id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea id=t'+i:'<iframe')+' style=width:49%;height:48% oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>
</code>
Посмотреть демо можно по этой ссылке. А можно просто вставить вот этот текст с кодом в адресную строку браузера:

<code class="html">data:text/html,%20<x%20id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea%20id=t'+i:'<iframe')+'%20style=width:49%;height:48%%20oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>
</code>
Читать дальше →
avatar

В MIT разработали недорогую 3D-камеру, способную видеть сквозь полупрозрачные объекты

Опубликовал в блог Новости IT технологий
0


Существующие сегодня 3D-сенсоры, основанные на измерении времени прохождения луча света, подобные Kinect, могут довольно неплохо составлять карту глубин изображения, если в сцене нет полупрозрачных и отражающих поверхностей, преломляющих и искажающих путь световых лучей. Дождь, струи воды, туман или предметы из стекла или прозрачного пластика просто заслоняют более далёкие объекты, так как сенсор распознаёт только самое первое отражение сигнала.

На конференции Siggraph Asia, которая прошла в Гонконге на прошлой неделе, учёные из MIT Media Lab представили новую разработку, основанную на том же принципе. В ней используется обычный лазерный диод и недорогой сенсор. Стоимость оборудования составила всего лишь порядка 500 долларов. Единственное существенное отличие прототипа от коммерческих аналогов, таких как Kinect, заключается в прошивке.

Вместо простой периодической модуляции импульсов инфракрасного лазера, прототип MIT использует специально подобранные последовательности импульсов, имеющие автокорреляционную функцию с очень узким единичным пиком (такие сигналы используются в эхолокации и телекоммуникациях для точного измерения времени задержки сигнала. Более подробно о них можно почитать в статье "Основные принципы цифровой беспроводной связи. Ликбез", в разделе «Автокорреляционная функция. Коды Баркера»). Камера хорошо различает первые отражения от поверхности прозрачного предмета и следующие за ними отражения от более далёких объектов. Она даже способна получить чёткое изображение надписи, закрытой матовым экраном.
Читать дальше →
avatar

Технологии становятся ближе к телу

Опубликовал в блог Новости IT технологий
0
С тех пор, как Google анонсировала очки дополненной реальности Glass многие производители начали всерьез интересоваться нательными гаджетами.

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

С чего все начиналось…

Сегменту wearable computers (подстрочник с английского «надеваемые компьютеры») два десятка лет. Отцом нательных компьютеров считается профессор Торонтского университета Стив Манн (Steve Mann). В 1970-х и 80-х годах он создал несколько нательных систем общего пользования, включая устройства считывания, биологической обратной связи и мультимедиа. В 1981 году он разработал мультимедийную компьютерную систему для крепления на спину с наголовным дисплеем для одного глаза. С тех пор Манн каждый день носит какой-нибудь нательный компьютер.
Читать дальше →
avatar

72-мегапиксельная камера-мяч снимает 360-градусные панорамы в полёте

Опубликовал в блог Новости IT технологий
0
Камера-мяч, которой можно снимать сферические панорамы, просто подбросив её в воздух, делает снимок в самой верхней точке траектории, ориентируясь на встроенные акселерометры. Прототип такой камеры был представлен ещё два года назад. Теперь она доведена до стадии серийного продукта — кампания по сбору средств идёт на IndieGoGo

Камера, названная Panono, имеет ударопрочный пластиковый корпус, резьбу для крепления на штатив и кнопку спуска — её можно использовать в трёх режимах: бросая вверх, управляя дистанционно со смартфона, установив на штатив или другое крепление, и просто держа в руках, если не нужна 360-градусная панорама.

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

Один датчик, чтоб править всеми

Опубликовал в блог Новости IT технологий
0
Проект интеллектуального датчика Neurio, который за две недели до окончания кампании на Кикстартере уже превысил план на 40 000 долларов, основан на необычном подходе к управлению умным домом. В основе Neurio лежит очень точный и подробный анализ энергопотребления. Умный счётчик похож на обычный электронный счётчик электроэнергии, но фиксирует гораздо больше параметров, и делает это точнее и чаще, чем обычный. Эти данные отправляются в облако и там анализируются алгоритмами искусственного интеллекта, которые достаточно уверенно распознают отдельных потребителей электричества по характерному для них «почерку».


Это возможно благодаря тому, что датчик Neurio измеряет в двух независимых двухсторонних каналах не только активную мощность, но и реактивную мощность, коэффициент мощности, напряжение, ток, и частоту. Данные обновляются один раз в секунду и передаются в домашнюю сеть по WiFi. На случай потери связи есть внутренняя память, которой хватает на год непрерывной записи.
Читать дальше →
avatar

[Перевод] Awsbox — PaaS-инфраструктура для развёртывания приложений Node.js в облаке Amazon

Опубликовал в блог Новости IT технологий
0
От переводчика: Это двенадцатая, последняя статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.

Все статьи цикла:
  1. "Охотимся за утечками памяти в Node.js"

  2. "Нагружаем Node под завязку"
  3. "Храним сессии на клиенте, чтобы упростить масштабирование приложения"
  4. "Производительность фронтэнда. Часть 1 — конкатенация, компрессия, кэширование"
  5. "Пишем сервер, который не падает под нагрузкой"
  6. "Производительность фронтэнда. Часть 2 — кешируем динамический контент с помощью etagify"
  7. "Приручаем конфигурации веб-приложений с помощью node-convict"
  8. "Производительность фронтенда. Часть 3 — оптимизация шрифтов"
  9. "Локализация приложений Node.js. Часть 1"
  10. "Локализация приложений Node.js. Часть 2: инструментарий и процесс"
  11. "Локализация приложений Node.js. Часть 3: локализация в действии"
  12. "Awsbox — PaaS-инфраструктура для развёртывания приложений Node.js в облаке Amazon"




После того как вы написали приложение на Node.js, как развернуть его на сервере? Вместо того, чтобы использовать готовое PaaS-решение, наша команда создала собственную инфраструктуру поверх Amazon EC2. Сейчас мы расскажем подробнее о том, как мы это сделали.

Мы представим вам awsbox — минималистичный слой PaaS-инфраструктуры для Node.js, который сейчас обслуживает пару дюжин некритичных сервисов Mozilla. Awsbox разработан для того, чтобы предоставить простоту и удобство развёртывания, характерные для PaaS, не теряя при этом гибкости кастомизированной инфраструктуры.
Читать дальше →
avatar

[Перевод] Локализация приложений Node.js. Часть 3: локализация в действии

Опубликовал в блог Новости IT технологий
0
От переводчика: Это деcятая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.

Предыдущие статьи:
  1. "Охотимся за утечками памяти в Node.js"

  2. "Нагружаем Node под завязку"
  3. "Храним сессии на клиенте, чтобы упростить масштабирование приложения"
  4. "Производительность фронтэнда. Часть 1 — конкатенация, компрессия, кэширование"
  5. "Пишем сервер, который не падает под нагрузкой"
  6. "Производительность фронтэнда. Часть 2 — кешируем динамический контент с помощью etagify"
  7. "Приручаем конфигурации веб-приложений с помощью node-convict"
  8. "Производительность фронтенда. Часть 3 — оптимизация шрифтов"
  9. "Локализация приложений Node.js. Часть 1"
  10. "Локализация приложений Node.js. Часть 2: инструментарий и процесс"




Использование строк

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

Теперь давайте заставим наше приложение Node.js работать с локализованными строками. Переводы в виде po-файлов лежат в файловой системе в таком виде:

<code class="bash">locale
  en
    LC_MESSAGES
      messages.po
  de
    LC_MESSAGES
      messages.po
  es
    LC_MESSAGES
      messages.po
</code>
Во время выполнения нашего приложения нужно извлекать переведённые строки из этих файлов. Есть два способа сделать это:

  • на стороне сервера с помощью всё той же функции gettext из модуля i18n-abide;
  • на стороне клиента с помощью скрипта gettext.js, который также входит в состав i18n-abide.
Оба этих метода требуют, чтобы строки были в формате JSON. При переводе на стороне сервера они загружаются при старте приложения, а клиент загружает их с помощью HTTP-запросов (или можно включить их в минифицированный файл в процессе сборки).

Так как наша система перевода совместима с GNU Gettext, есть ещё и третий путь — модуль node-gettext. Он довольно эффективен при переводе на стороне сервера.

Дальше мы будем рассматривать первый способ, так как это наиболее привычный способ использования i18n-abide.
Читать дальше →