Pull to refresh
0
0
Send message

Введение в .NET Core

Reading time19 min
Views194K


На конференции connect(), мы объявили, что .NET Core будет выпущен полностью как программное обеспечение с открытым исходным кодом. В этой статье мы сделаем обзор .NET Core, расскажем, как мы собираемся его выпускать, как он соотносится с .NET Framework и что это все означает для кросс-платформенной разработки и разработки с открытым кодом.
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments14

BLE стек от TI. Разработка пользовательских приложений

Reading time5 min
Views40K
Привет, Хабр!

После написания предыдущего материала про BLE розетку я познакомился со многими
людьми, которыми интересна тема использования BLE в собственных разработках, но есть определенные
сложности в использовании С-программирования с BLE стеком для СС2541. Использование
внутреннего контроллера дает много преимуществ, в частности: прошивка по воздуху, экономия
на внешнем контроллере, сокращение числа точек пайки…
Я решил разбить материал на две части. Первая – это подготовка к работе, программирование и
отладка. Вторая – создание собственного BLE профиля.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments8

Linux, Open Source и современное телевидение

Reading time3 min
Views24K
Примерно год назад было принято решение о запуске нового телеканала высокой чёткости. Встал вопрос о техническом оснащении имеющейся аппаратной по выпуске SD каналов новым оборудованием. И первое что приходило в голову — расширить имеющийся комплекс Skylark, «докупив» оборудование. Посчитав примерные затраты, руководство пришло в лёгкий шок — цены кусались. И вот тут-то у меня родилась идея, построить эфирный комплекс на Linux.
Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments22

Анимации c помощью Transitions API

Reading time11 min
Views70K
Привет!

На хабре ещё не была освещена тема Transitions API для анимаций, которые появились в Android начиная с 4.4 (KitKat) и продолжили свое развитие в 5.0 (Lollipop). В своей статье я расскажу о том, как упростить работу с анимациями с их использованием и как применять их на любом устройстве с версией Android 4.0 и выше.


Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments20

Запускаем Java Runtime на 256KB оперативной памяти

Reading time3 min
Views27K
image
Действительно, с выходом Java ME Embedded 8.1, полноценный Java-рантайм теперь доступен на плате Freescale K64F, которая несет на борту 256KB RAM и оснащена процессором на базе архитектуры ARM Cortex M4. Еще одной важной особенностью нового выпуска Java ME SDK стала поддержка Eclipse IDE. Страница нового релиза Java ME Embedded 8.1 здесь: http://www.oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html

Платформа Java ME Embedded 8.1 специально создана для того, чтобы перенести все полезные функциональные возможности Java на устройства с ограниченными аппаратными возможностями и даже, микроконтроллеры. Появление платформы Java ME Embedded, во многом, обусловлено развитием нового направления в информационных технологиях, Интернета Вещей (Internet of Things, IOT). Развитие IoT связано как с новыми возможностями, так и с новыми проблемами. Часть задач, таких как безопасность, работа с сетевыми подключениями, общение с внешними интерфейсами UART, I2C, SPI, GPIO успешно решает Java ME Embedded 8.1. Использование Java вместо нативных инструментов сокращает время выпуска продукта и открывает доступ к значительным трудовым ресурсам. Кстати, а вы знаете, что команда разработки Java ME Embedded почти полностью находится в Санкт-Петербурге? Что еще интересного приготовили наши разработчики вы узнаете дальше…
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments58

Транслируем звук по сети с помощью Java

Reading time5 min
Views35K
Стало мне интересно поэкспериментировать с передачей звука по сети.
Выбрал для этого технологию Java.
В итоге написал три компоненты — передатчик для Java SE, приемник для Java SE и приемник для Android.

В Java SE для работы со звуком использовались классы из пакета javax.sound.sampled, в Android — классы android.media.AudioFormat, android.media.AudioManager и android.media.AudioTrack.
Для работы с сетью — стандартные Socket и ServerSocket.

С помощью этих компонент удалось успешно провести сеанс голосовой связи между Дальним Востоком России и Нидерландами.

И еще одно возможное применение — если установить виртуальную звуковую карту, например, Virtual Audio Cable, можно транслировать музыку на другие устройства, и, таким образом, слушать музыку одновременно в нескольких комнатах квартиры (при наличии соответствующего количества девайсов).

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments26

Почему по мере заполнения SSD падает скорость записи в RAID, или зачем нужен TRIM

Reading time7 min
Views121K
Эта проблема наиболее актуальна для аппаратных RAID или firmware RAID (таких как Intel RST RAID 1/10/5/6) с непромышленными SSD.

Особенность SSD


SSD пишут и читают данные страницами, записать можно только на очищенные страницы, а очистить страницы можно только большими блоками. Например, у диска размер страницы 8 КБ, в блоке находится 128 страниц, таким образом, размер блока — 1024 КБ (здесь и далее, если не указано иного, КБ и МБ двоичные).

Например, если изменить 40 КБ в одном файле, то на физическом уровне это будет выглядеть так:


Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments74

Сам себе AWS. Часть 1

Reading time5 min
Views20K
И снова здравствуйте!

image
Нет, это не Fez

В прошлый раз я вкратце рассказал, что есть на рынке open-source для создания карманного облака.
Теперь же настало время рассказать вам про сам OpenStack и его реализацию в виде Mirantis OpenStack 5.1.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments27

Как создается Data Matrix?

Reading time4 min
Views58K
Data Matrix является двумерным матричным штрих кодом, состоящим из светлых и темных участков. С помощью такого штрих кода можно закодировать достаточно большой объем информации (2-3Кб). Часто Data Matrix применяется при маркировке небольших предметов, например микросхем, а также в пищевой, оборонной промышленности, рекламе и других сферах.

Существует множество сайтов для создания таких кодов, но мне всегда было интересно, каким же образом текст превращается в набор черных и белых квадратиков? Должен же быть какой-то алгоритм?

При создании Data Matrix нам понадобится обратиться к арифметике полей Галуа и кодам Рида-Соломона. Рассмотрим этот процесс на простом примере.
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments11

Новый сенсорный материал для измерения деформации, влажности, температуры, давления… и что же дальше?

Reading time7 min
Views60K
Привет Хабра!
Так получилось, что я родился еще в Советском Союзе. Дело было в небольшом наукограде рядом с Москвой, в семье научных сотрудников. Рос в лучших традициях окончания советской эпохи, учился в обычной школе. Физика и математика давались мне легко, а вот гуманитарные науки не очень. В старших классах начал готовился к поступлению в институт, а по выходным копал картошку и собирал колорадских жуков, но сам мечтал быть бизнесменом и носить красный пиджак. Как и планировалось, я поступил в приличный технический ВУЗ, окончил его и получил специальность инженер-физик, как и мой отец. Но желание зарабатывать больше, чем родители у меня осталось. Поэтому карьера физика меня не радовала. И вот сейчас я работаю в инвестиционном бизнесе. Все бы ничего, но как-то мы разговорились с родителями о том, чем они сейчас занимаются. Оказалось, что спустя 20 лет работы, они пришли от теоретической науки к практической. И именно тут столкнулись с весьма банальной и простой проблемой – как из научного открытия сделать полезный и продаваемый продукт для потребителя? Но обо всем по порядку.

image

Читать дальше →
Total votes 80: ↑78 and ↓2+76
Comments47

Time of flight

Reading time4 min
Views85K
Знаете, меня порой удивляет причудливая структура общественного мнения. Взять к примеру технологию 3D-визуализации. Огромный общественный резонанс вызывают в последнее время технологии очков виртуальной реальности: Oculus Rift, Google Glass. Но ведь ничего нового тут нет, первые шлемы виртуальной реальности появились ещё в конце 90-х. Да, они были сложны, они опередили своё время, но почему тогда это не вызывало такого WOW-эффекта? Или 3D-принтеры. Статьи о том, как они круты или как быстро они захватят мир появляются в информационном поле два раза в неделю последние года три. Я не спорю, это круто и мир они таки захватят. Но ведь эта технология была создана ещё в 80х и с тех пор вяло прогрессирует. 3D-телевидение? 1915 год…

Технологии все эти хороши и любопытны, но откуда столько шумихи из-за каждого чиха?

Что, если я скажу, что в последние 10 лет была изобретена, разработана и внедрена в массовое производство технология 3D съёмки, очень сильно отличающаяся от любой другой? При этом технология уже повсеместно используемая. Отлаженная и доступная простым людям в магазинах. Вы слышали про неё? (наверное только специалисты по робототехнике и сопутствующим областям науки уже догадались, что я говорю про ToF-камеры).

Что такое ToF камера? В русской Википедии (англ) вы не найдёте даже коротенького упоминания о том, что это такое. «Time of flight camera» переводится как «Времяпролётная камера». Камера определяет дальность через скорость света, измеряя время пролёта светового сигнала, испускаемого камерой, и отражённого каждой точкой получаемого изображения. Сегодняшним стандартом является матрица 320*240 пикселей (следующее поколение будет 640*480). Камера обеспечивает точность измерения глубины порядка 1 сантиметра. Да-да. Матрица из 76800 сенсоров, обеспечивающих точность измерения времени порядка 1/10,000,000,000 (10^-10) секунды. В продаже. За 150 баксов. А может вы ею даже пользуетесь.
А теперь чуть подробнее про физику, принцип работы, и где вы встречали эту прелесть.
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments65

Компания Lytro представила пленоптическую камеру второго поколения

Reading time2 min
Views134K
Компания Lytro, основанная выходцем из Стэнфордского университета Рена Нг (Ren Ng), занимается коммерциализацией пленоптической фотографии, или фотографии светового поля, когда матрица с помощью системы микролинз фиксирует не плоскую картинку, а полную информацию о световом поле объекта съемки — фокусировку таких снимков можно производить уже после съёмки, а кадры, полученные такой камерой, позволяют получить стереоизображение. Очень подробную и большую статью о принципе работы такой камеры опубликовал хабраюзер Antelle. Первая камера Lytro была больше похожа на забавную игрушку, чем на серьёзный фотоаппарат, и качество снимков было не слишком высоким — при рендеринге в обычное плоское изображение разрешение составляло всего около мегапикселя.

Камера второго поколения, названная Lytro Illym, уже гораздо больше похожа на настоящий фотоаппарат, как по внешнему виду, так и по характеристикам. Диагональ сенсора увеличена с 1/3" до 1", разрешение снимков составляет 40 мегалучей (в этих единицах измеряется разрешение пленоптических камер) против 11 у первой Lytro. Плоские отпечатки со снимков Lytro Illym могут теперь иметь разрешение порядка 4 мегапикселей, пропорционально выросла и точность фокусировки. Большую часть камеры занимает зум-объектив с эквивалентным фокусным расстоянием 30-250 мм и постоянной апертурой F2. Камера имеет поворачивающийся 4-дюймовый видоискатель разрешением 800х480 пикселей. Её цена — 1600 долларов. Первые поставки ожидаются в июле.

image
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments125

Что такое холакратия и почему она вам не нужна

Reading time12 min
Views152K
Холакратия скоро станет новым модным баззвордом в мире IT-бизнеса, какими в своё время стали стартапы, аджайл и лин. Уже сейчас в Силиконовой долине поднялся невероятный хайп: компании уровня Medium, Zappos и Airbnb вовсю внедряют Конституцию 4.0, появляются форки и альтернативные системы, рождается куча мисконцепций, спекуляций и критики в адрес этой модели распределения власти. Скоро тренд доберётся до наших северных широт и вызовет ещё больше непонимания из-за трудностей перевода. Давайте опередим события и попробуем разобраться, что такое холакратия, откуда она взялась и какую пользу может принести.



Кнопка обслуживает предпринимателей, и так уж получается, что нам всегда нужно быть чуточку впереди, чтобы предлагать самые крутые решения. Поэтому мы обожаем пробовать всё новое. Эксперименты с холакратией мы начали несколько месяцев назад: набили первые шишки, пообщались с консультантами из США, почувствовали первые улучшения и продолжаем внедрять и изучать. В первой статье расскажем про важные для понимания базовые штуки, а в следующих поделимся собственным опытом и ответим на популярные вопросы.
Читать дальше →
Total votes 52: ↑37 and ↓15+22
Comments109

Docker: запуск графических приложений в контейнерах

Reading time15 min
Views87K
Строго говоря, Docker не был создан для подобного рода вещей, а именно запуска графических приложений. Однако, время от времени в темах про Docker звучат вопросы о том, нельзя ли запустить GUI-приложение в контейнере. Причины могут быть разные, но чаще всего, это желание сменить излишне громоздкую виртуальную машину на что-то полегче, не потеряв в удобстве и сохранив при этом достаточный уровень изоляции.

Это небольшой обзор способов запуска графических приложений в контейнерах Docker.
ну-ка, что там
Total votes 36: ↑36 and ↓0+36
Comments14

Перехват вызовов функций нативных библиотек в Android приложениях

Reading time4 min
Views13K

Для чего это нужно


Я часто сталкивался с необходимостью отлаживать Android приложения, использующие нативный код. Иногда мне было нужно перехватить вызовы к bionic (libc), иногда к .so-шкам, к которым исходного кода у меня не было. Иногда приходилось включать в свои приложения чужие .so, к которым не было исходников и надо было подкорректировать их поведение.

Итак, как сделать LD_PRELOAD в Android?
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments2

Одна на всех

Reading time2 min
Views24K
Как-то так получилось, что в нескольких последних проектах я использовал в качестве излучающего элемента различные модификации IFA (Inverted А Antenna). Эта рабочая лошадка активно эксплуатируется в огромном количестве современных беспроводных устройств. Видовому разнообразию IFA мне и хотелось бы посвятить этот пост.

Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments5

Опыт еще одного инженерного расследования

Reading time6 min
Views29K
Нам представилась возможность провести еще одно небольшое, но крайне поучительное тактическое занятие

Тематику этого поста навеяла рассылка от Шерлока Омса — периодически там размещаются истории о нетривиальных инженерных задачах, возникших при диагностировании различных электронных устройств. Вот и подумалось, а почему бы и нет? Хотя прекрасно понимаю, что тематика достаточно специфическая, требует вполне конкретных узкоспециализированных знаний и вряд ли будет интересна широкому кругу читателей, но нескольно приятных минут узкому кругу ценителей аппаратных загадок способна доставить. Итак для тех, кто знает, что такое шина данных и как она устроена — история, в которой будут
и корабли, и башмаки, и сургуч, и капустные пальмы
Total votes 38: ↑38 and ↓0+38
Comments17

Обзор бортовой системы в Tesla

Reading time4 min
Views85K


Недавно мы писали о знаменитом электромобиле Tesla Model S. Этот пост вызвал живейший интерес на Хабре, мы получили очень много вопросов об устройстве и поведении автомобиля на дороге. И идя на встречу вашим пожеланиям, решили поподробнее рассказать о системе управления и бортовом оборудовании Теслы.
Много фотографий под катом
Total votes 133: ↑118 and ↓15+103
Comments60

Memory management в ядре Linux. Семинар в Яндексе

Reading time4 min
Views65K
Привет! Меня зовут Роман Гущин. В Яндексе я занимаюсь ядром Linux. Некторое время назад я провел для системных администраторов семинар, посвященный общему описанию подсистемы управления памятью в Linux, а также некоторым проблемам, с которыми мы сталкивались, и методам их решения. Большая часть информации описывает «ванильное» ядро Linux (3.10), но некоторая часть специфична для ядра, использующегося в Яндексе. Вполне возможно, семинар окажется интересен не только системным администраторам, но и всем, кто хочет узнать, как в Linux устроена работа с памятью.



Основные темы, затронутые на семинаре:
  • Задачи и компоненты подсистемы управления памятью;
  • Аппаратные возможности платформы x86_64;
  • Как описывается в ядре физическая и виртуальная память;
  • API подсистемы управления памятью;
  • Высвобождение ранее занятой памяти;
  • Инструменты мониторинга;
  • Memory Cgroups;
  • Compaction — дефрагментация физической памяти.

Под катом вы найдете более подробный план доклада с раскрытием основных понятий и принципов.
Читать дальше →
Total votes 113: ↑107 and ↓6+101
Comments15

Время против памяти на примере хеш-таблиц на Java

Reading time3 min
Views18K
Эта статья иллюстрирует т. н. компромисс скорости и памяти — правило, которое выполняется во многих областях CS, — на примере разных реализаций хеш-таблиц на Java. Чем больше памяти занимает хеш-таблица, тем быстрее выполняются операции над ней (например, взятие значения по ключу).

Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments28

Information

Rating
Does not participate
Registered
Activity