Новости информационных технологий - 24663

Навигация в помещениях, где не работает GPS

Fraunhofer Research совместно с Bosch разрабатывет систему Smartsense — сенсор для смартфонов с возможностями точной навигации внутри помещений, где не ловится сигнал GPS-спутников.

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

Вычисление CRC32 строк в compile time
По своей программистской природе я очень не люблю неоптимальность и избыточность в коде. И вот, читая в очередной раз на работе исходный код Mail.Ru Агента, вновь наткнулся на одну раздражающую особенность в способе реализации перевода строк продукта на разные языки.

Локализация здесь выполняется довольно нехитро. Все строки, требующие перевода, оборачиваются в макрос _TR():

wprintf(L"%sn", _TR("Some hashing string"));

Макрос возвращает нужную версию текста в зависимости от текущего используемого языка. Определён он следующим образом:

#define _TR(x) g_Translator.Translate(x)

Здесь происходит обращение к глобальному объекту g_Translator, который в функции Translate() считает crc32 от указанной строки и ищет в своей xml-базе перевод с совпадающей контрольной суммой.

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

Немного погуглив по запросу «compile-time crc32» я быстро понял, что задача это не самая тривиальная, а готовых решений мне найти так и не удалось.
Читать полностью »

Создание штамма вируса М13, обладающего пьезоэлектрическими свойствами, о котором шла речь в этом топике, может иметь интересные последствия. Дело в том, что хотя использование пьезоэлектриков для сбора отходов механической энергии не получило пока широкого распространения, эта идея — вовсе не фантазия и не дело отдалённого будущего. А изобретение более дешёвых, безопасных и эффективных пьезоэлектрических элементов вполне может вывести пьезоэнергетику на новый уровень.

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

Ассортимент компании Accell пополнился активным адаптером UltraAV DisplayPort to DVI-D Dual-Link, поддерживающим стереоскопические дисплеи.

Устройство дает возможность подключить к выходу DisplayPort или mini-DisplayPort компьютера монитор с входом DVI Dual-Link. Для подключения к выходу mini-DisplayPort используется входящий в комплект переходник.

Accell оценивает активный адаптер UltraAV DisplayPort to DVI-D Dual-Link в $110

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

На сайте Groklaw публикуется текстовая трансляция судебных слушаний Oracle против Google, где речь идёт о возмещении ущерба $150 тыс. за «воровство» для Android функции rangeCheck и тестовых файлов. В обсуждении встречаются интересные моменты. Например, вчера судья Алсуп, ведущий это дело, вступил в небольшую перепалку с адвокатом Дэвидом Бойзом, который представляет интересы Oracle: см. запись разговора.

Oracle: Вопрос не в том, насколько велик ущерб. Вопрос в том, можно ли закрыть глаза на коммерческую выгоду нарушителя исходя из того, что объём нарушений мал.

Кроме того, для меня не ясно, что справедливо сравнение девяти строк кода и 15 миллионов, потому что из них 10 миллионов составляет ядро Linux. Но всё равно, девять строк — это небольшой процент. Тестовые файлы гораздо больше, но они не присутствуют, по крайней мере, в текущей версии Android.

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

На днях возникла необходимость сохранить все фотографии из своего фотоальбома ВКонтакте на жесткий диск. Естественно, вариант, с сохранением фотографий по одной, меня не устроил. Тут вспомнилось, что у ВКонтакте есть API. Пять минут чтения мануалов, и все нужные функции найдены. Единственная проблема – не существует нормального способа, для получения доступа к API. В документации сказано следующее:

Процесс авторизации приложения состоит из 3-х шагов:

  1. Открытие окна браузера для аутентификации пользователя на сайте ВКонтакте.
  2. Разрешение пользователем доступа к своим данным.
  3. Передача в приложение ключа access_token для доступа к API.

На первый взгляд, набросать простенький портабельный скрипт не получится. Хотя, что мешает нам притвориться браузером?
Читать полностью »

Друзья, рады сообщить, что 23-24 мая у нас будет бесплатная онлайн-трансляция с DevCon'12.

Прямая трансляция с конференции DevCon’12: 23 24 мая с 10:00 (МСК)

Чтобы не забыть о мероприятии, вы можете добавить себе напоминание в календарь.

Онлайн-участники конференции увидят прямую трансляцию пленарных сессий с участием Йонаса Персcона и Скотта Хансельмана и всех 50 технических докладов.

Основные темы конференции:

  • Клиентская разработка;
  • Мобильная разработка;
  • Веб-разработка;
  • Облачные вычисления;
  • Читать полностью »

Сейчас смартфоны под управлением Android и iOS являются одними из самых популярных среди потребителей во всем мире, хотя по количеству проданных устройств и наблюдается существенный разрыв. Так, согласно отчету NPD Group, доля Android-смартфонов на рынке США составляет 61%, в то время как доля iOS — 29%. Несмотря на все возрастающую популярность двух конкурирующих платформ, проблемы их безопасности разительно отличаются. В то время как сообщения об очередной атаке злоумышленников на пользователей Android-устройств появляются с завидной регулярностью, владельцы «яблочных» i-продуктов фактически не испытывают никаких опасений, а большинство из них могло даже не слышать об имевших место атаках.

image

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

Наш проект мы пишем с индусами.

Общую архитектуру я задал как архитектор проекта — Java, Spring и т.д.
Но в тех областях, в которых им надо было писать они сами решали что и как будет.
А привыкли они всё делать на C/C++.

В итоге родился такой монстр:

У нашей программы есть command line клиент.
Он работает с командами и скриптами на Tcl (потому что так привыкли клиенты).
Используется native Tcl Interpreter (а не JTcl) (потому что так решили наши индусы).
Команды реализованы на Java, но часть команд обращается к коду на C++ (legacy code)
Однако же система сообщений об ошибках и предупреждениях реализована на Java.
Индусы писали используя JNI, а я связь Java с С делал на JNA

Как выглядит работа команды набранной в коммандной строке?

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

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

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


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