Как стать автором
Обновить
8
0
Роман Чеботарев @convex

Архитектор

Отправить сообщение

Самодельные лампы-индикаторы из стеклоблоков и диодной ленты (и, конечно, raspberry pi)

Время на прочтение2 мин
Количество просмотров73K
Во время последнего ремонта над ванной комнатой обнаружилось место между потолками высотой примерно в 20см, выходящее в том числе и в кухню. Было решено не закрывать его обратно полностью, а вставить несколько цветных стеклоблоков с лампочками позади. Время шло, стеклоблоки стояли на месте уже полгода, и наконец у меня дошли руки до лампочек. Конечно, просто включать их вместе с верхним светом было неинтересно, и хотелось заставить их что-то показывать.



Тут приехал компьютер raspberry pi, и проект начал обретать очертания. Не буду рассказывать, что спаял всё за один вечер, это были скорее месяцы.

Читать дальше →
Всего голосов 56: ↑48 и ↓8+40
Комментарии30

Как создать новый продукт для рынка электроники. Часть 2

Время на прочтение6 мин
Количество просмотров35K

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

В первой части мы убедились, что планирование и разработка концепции нового устройства требует чертовски много времени, посмотрели на подводные камни на этапе разработки софта и железа. А сейчас предлагаю сфокусироваться на производственных аспектах — тестировании, изготовлении опытных образцов, серийном производстве, поставке и послепродажной поддержке.
Хочу все знать про производство
Всего голосов 28: ↑27 и ↓1+26
Комментарии35

Одноэкземплярные приложения на Qt

Время на прочтение3 мин
Количество просмотров26K
Сейчас я активно пишу под Qt. И встала у меня задачка проверить при запуске приложения, а не запущено ли оно уже. Под линуксом. Велосипеды городить не хотелось, хотелось родить что-то используя готовые классы Qt, чтобы сразу было кроссплатформенно. В винде, например, есть готовое решение — именованные мьютексы (или семафоры, неважно, главное именованные). Стал гуглить. Ага, в Qt есть нечто подобное, называется QSystemSemaphore.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии24

Oracle ADF. Business Components

Время на прочтение10 мин
Количество просмотров10K
Доброе время суток хабравчане. Моя предыдущая статья была небольшим интро в ADF. И так как по результатам опроса я вижу, что тема оказалась интересна, то я продолжаю писать об ADF.

Теперь после небольшого рассказа о данном фреймворке, можно «ринуться в бой» и рассмотреть фичи ADF более конкретно. Данная статья будет об ADF Business Components. О том как работать с ними декларативно и программно.
Читать дальше →
Всего голосов 6: ↑3 и ↓30
Комментарии4

Как запустить программу без операционной системы

Время на прочтение13 мин
Количество просмотров182K

Так вышло, что в нашей статье, описывающей механизм опроса PCI шины, не было достаточно подробно описано самого главного: как же запустить этот код на реальном железе? Как создать собственный загрузочный диск? В этой статье мы подробно ответим на все эти вопросы (частично данные вопросы разбирались в предыдущей статье, но для удобства чтения позволим себе небольшое дублирование материала).

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

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

Читать дальше →
Всего голосов 196: ↑188 и ↓8+180
Комментарии69

Съемка Матрицы в домашних условиях с помощью 15-ти камер GoPro

Время на прочтение1 мин
Количество просмотров61K
Создатель студии Permagrin Films кинематограф-любитель Marc Donahue с помощью дугового массива 15-ти камер GoPro сумел превратить обычные фотографии катания на велосипеде или приготовления пищи в сцены похожие на фильм Матрица.



Читать дальше →
Всего голосов 100: ↑89 и ↓11+78
Комментарии98

Записи докладов с конференций по высоким нагрузкам HPC

Время на прочтение1 мин
Количество просмотров17K
Записи с последней конференции HPC — High Performance Conference, состоявшейся 6 декабря 2012, никак не анонсировались, хотя заслуживают внимания.

Под катом видеозаписи следующих докладов:

  1. Практические вопросы использования NOSQL в высоконагруженном проекте
    Дмитрий Ананьев, Руководитель группы разработки новых сервисов, Мамба
  2. Как работает «умная живая миграция» в Jelastic
  3. Дмитрий Лазаренко, Директор R&D, Jelastic Russia
  4. Parallels Cloud Server как платформа для высокопроизводительных систем
    Дмитрий Мишин, Team-lead отдела серверной виртуализации, Parallels
  5. Облачная платформа Windows Azure для высоконагруженных проектов
    Владимир Юнев, Technical evangelist, DPE, Microsoft Russia


и одно видео с фестиваля профессионального развития BitByte:

  1. Badoo Desktop: оптимизация приложения на миллион юзеров
    Руководитель проекта десктопных приложений компании Badoo.



Читать дальше →
Всего голосов 53: ↑46 и ↓7+39
Комментарии10

Кулинарный путеводитель по архитектурам AI

Время на прочтение21 мин
Количество просмотров53K
image

Мне постоянно приходится слышать от студентов и начинающих гейм-дизайнеров – да, честно говоря, и от бывалых программистов тоже – один и тот же вопрос, который звучит примерно так: “Какую архитектуру AI мне выбрать для своего проекта?”. Этим вопросом пестрят форумы, его можно услышать на конференции разработчиков игр GDC, и, конечно же, его не один раз вспоминают во время пре-продакшна создатели любой игры – от AAA-класса до инди. Я работаю консультантом по игровому AI, поэтому я постоянно слышу ее от своих клиентов.

Обычно, самый лучший ответ на этот вопрос – «Когда как». Вот только подобный ответ мало кого устраивает, поэтому после него мне приходится устраивать самый настоящий допрос.
Читать дальше →
Всего голосов 83: ↑76 и ↓7+69
Комментарии6

Некоторые простейшие принципы автовекторизации

Время на прочтение21 мин
Количество просмотров27K
Предыдущий мой пост был посвящен цикловым перестановочным оптимизациям, проблемам распознавания циклов, разрешению неоднозначности при работе с памятью, определению и важности зависимостей. Теперь я хочу сделать обзор одной из самых эффективных цикловых оптимизаций — автовекторизации. Хочется обсудить вопросы эффективности оптимизации, а также попытаться понять, какие факторы эту эффективность определяют. Всем, кому это интересно – добро пожаловать. При обсуждении я буду ориентироваться на интеловский автовекторизатор и автовекторизатор gcc 4.7.2. gcc я буду исследовать, чтобы подтвердить, что те принципы векторизации, которые я здесь пытаюсь сформулировать, имеют достаточно общую природу. Заодно мне, конечно, хочется понять уровень автовекторизации в gcc. Тут, конечно, есть некий элемент неравенства, поскольку я использую последний компилятор Интел, но не самую топовую версию gcc, но в основном я буду ориентироваться при сравнении на SSE инструкции. (Кстати, Intel активно участвует в разработке автовекторизатора gcc). Поскольку Intel и интеловский компилятор мне ближе, то ему я уделю кое-где больше внимания. Я не претендую на то, что я векторизаторный гуру и буду рад, если кто-то увидит мои ошибки и меня поправит. Букв будет много.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии26

MapReduce для обработки слабоструктурированных данных в HDInsight

Время на прочтение8 мин
Количество просмотров5.2K
В данном примере мы разберем создание и выполнение типового задания MapReduce в облачной реализации Hadoop от Microsoft, которая носит название HDInsight.
В предыдущем примере мы создали 3-узловой кластер Hadoop и загрузили абстрактный журнал слабоструктурированного формата, который сейчас предстоит обработать. Журнал представляет собой в общем случае большой (в нашем конкретном примере маленький, но на принципиальную демонстрацию идеи это не влияет) текстовый файл, содержащий строки с признаками TRACE, DEBUG, INFO, WARN, ERROR, FATAL. Наша элементарная задача будет состоять в том, чтобы подсчитать количество строк с каждым признаком, т.е. сколько раз возникала ситуация WARN, сколько ERROR и т.д.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии3

Корреляции для начинающих

Время на прочтение6 мин
Количество просмотров216K
Апдейт для тех, кто сочтет статью полезной и занесет в избранное. Есть приличный шанс, что пост уйдет в минуса, и я буду вынужден унести его в черновики. Сохраняйте копию!

Краткий и несложный материал для неспециалистов, рассказывающий в наглядной форме о различных методах поиска регрессионных зависимостей. Это все и близко не академично, зато надеюсь что понятно. Прокатит как мини-методичка по обработке данных для студентов естественнонаучных специальностей, которые математику знают плохо, впрочем как и автор. Расчеты в Матлабе, подготовка данных в Экселе — так уж повелось в нашей местности


Введение


Зачем это вообще надо? В науке и около нее очень часто возникает задача предсказания какого-то неизвестного параметра объекта исходя из известных параметров этого объекта (предикторов) и большого набора похожих объектов, так называемой учебной выборки. Пример. Вот мы выбираем на базаре яблоко. Его можно описать такими предикторами: красность, вес, количество червяков. Но как потребителей нас интересует вкус, измеренный в попугаях по пятибалльной шкале. Из жизненного опыта нам известно, что вкус с приличной точностью равен 5*красность+2*вес-7*количество червяков. Вот про поиск такого рода зависимостей мы и побеседуем. Чтобы обучение пошло легче, попробуем предсказать вес девушки исходя из ее 90/60/90 и роста.
Читать дальше →
Всего голосов 204: ↑154 и ↓50+104
Комментарии47

Intel Distribution for Apache Hadoop: чтобы «большим данным» было комфортно

Время на прочтение2 мин
Количество просмотров4K

Хабражителям, интересующимся «большими данными», наверное, не имеет смысла рассказывать о проекте Apache Hadoop. В последнее время этот фреймворк стал особенным популярным и часто упоминаемым на Хабре – так, совсем недавно специалисты Mail.ru рассказали о миграции своей поисковой машины на Hadoop.
А как сделать хорошую программную систему еще лучше? Например, добавить в нее аппаратные компоненты. Именно таким путем пошла компания Intel, выпустив Intel Distribution for Apache Hadoop – «локализацию» Hadoop под платформу Intel Xeon, снабженную многими полезными функциями для облегчения ее управления и эксплуатации.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии11

Управление складскими запасами по Теории Ограничений Голдратта

Время на прочтение1 мин
Количество просмотров20K
Летом обещал, что осенью начнем выкладывать функционал с алгоритмами Теории Ограничений в области управления запасами и производства.

Вот, начинаю с запасов.

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

Мы реализовали в виде ПО положения Теории Ограничений Голдратта — лучшей, революционной системы менеджмента, применяемой с успехом сегодня на западе в тысячах предприятий. В России эта система только появляется и я считаю, что она требуем максимальной популяризации, потому как приносит потрясающие результаты, которые я наблюдал лично.



Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии8

Что вы хотели бы узнать о системе радиоуправления освещением NooLite?

Время на прочтение1 мин
Количество просмотров41K
imageЯ думаю, система NooLite (о ней уже писали на хабре) — очень клевый проект: она дает недоступные ранее возможности, имеет низкую стоимость, ее очень легко подключить и использовать. Такие выключатели стоят у меня дома и это очень удобно. Но, на мой взгляд, о системе NooLite знают мало людей (в основном, гики), хотя подключить/использовать ее не сложнее обычного проводного выключателя и с этим справится практически любой человек.
Читать дальше →
Всего голосов 26: ↑15 и ↓11+4
Комментарии77

Использование Loader в QML

Время на прочтение6 мин
Количество просмотров37K
Добрый день! В этой статье я расскажу про такой компонент из QML как Loader.

Он позволяет создать контейнер, в который затем можно вложить необходимый qml-элемент, использовать разные элементы в зависимости от состояния программы, а также сделать редко используемые части загружаемыми по требованию и сэкономить ресурсы. Loader является контейнером для QML-компонента и сам по себе не отображается.

Я рассматриваю компонент из QtQuick 2.0 которая входит в Qt пятой версии. В более ранней версии этот компонент также есть, но функционал немного меньше.

Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии10

Шок будущего: Добро пожаловать!

Время на прочтение6 мин
Количество просмотров85K


Уверен, что многие на Хабрахабре читали замечательную книгу британского публициста Элвина Тоффлера «Шок будущего», написанную еще в 1970-х годах, но не потерявшей актуальности и сегодня. Я позволил себе позаимствовать заголовок этого замечательного произведения, потому как считаю, что он как нельзя лучше подходит к теме этого хабрапоста.

Мы с вами, человечество, люди, живем в эпоху, предсказанную еще в 70-х годах прошлого столетия. Шок будущего — это то, что окружает нас каждую минуту, и производители новой техники и технологий только приближают момент, когда широким массам придется столкнуться с изменениями, уже произошедшими в окружающей среде.

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

Читать дальше →
Всего голосов 61: ↑49 и ↓12+37
Комментарии80

Citavi: профессиональный органайзер научной работы

Время на прочтение9 мин
Количество просмотров97K
imageКаждый, чья деятельность связана с изучением больших объемов литературы и написанием собственных текстов, рано или поздно сталкивается с необходимостью систематизации стремительно растущей библиотеки и еще более стремительно накапливающихся заметок и набросков. Для решения этой задачи существуют десятки решений: библиографические менеджеры, менеджеры знаний, персональные информационные менеджеры. Испробовав за последние несколько лет, пожалуй, все существующие в этой области решения (по крайней мере, для Windows), могу сказать, что каждое из них предлагает свой набор замечательных возможностей, но универсального варианта, в котором были бы объединены они все, увы, обнаружить долго не удавалось.
Читать дальше →
Всего голосов 54: ↑48 и ↓6+42
Комментарии50

Архитектура базы данных: унификация (на примере ERP)

Время на прочтение3 мин
Количество просмотров15K

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

Схема базы данных приложений со сложной доменной моделью (к которым относятся системы ERP) обычно состоит из
нескольких сотен таблиц.
Поэтому на начальном этапе проектирования базы для избежания многократных дублирований и разбухания схемы важно
определиться с несколькими базовыми таблицами для хранения общих свойств базовых сущностей приложения
и все остальные таблицы уже проектировать как вспомогательные или дополнения основных таблиц.
Читать дальше →
Всего голосов 14: ↑7 и ↓70
Комментарии21

Обзор систем сборок для Raspberry Pi

Время на прочтение9 мин
Количество просмотров47K
В прошлом мой выбор пал на OpenEmbedded (OE) и по заслугам, она одна из лучших систем сборок. К выбору на тот момент не подходил осознанно и захотел исправить это, поэтому решил посмотреть на текущие решения.

Мысль бы не пришла в голову, если под руками не оказалась плата Raspberry Pi (RPi), популярность которой зашкаливает — это означает одно, что попробовать новые системы сборки должно быть как никогда просто.

Забегая вперед, хочу сказать, что мне хотелось выбрать систему сборки для любой платы, RPi это или нет — не важно и был приятно удивлен количеством решений, которые уже сделаны под эту плату.

Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии22

Энтропия и деревья принятия решений

Время на прочтение8 мин
Количество просмотров120K
Деревья принятия решений являются удобным инструментом в тех случаях, когда требуется не просто классифицировать данные, но ещё и объяснить почему тот или иной объект отнесён к какому-либо классу.

Давайте сначала, для полноты картины, рассмотрим природу энтропии и некоторые её свойства. Затем, на простом примере, увидим каким образом использование энтропии помогает при создании классификаторов. После чего, в общих чертах сформулируем алгоритм построения дерева принятия решений и его особенности.
Читать дальше →
Всего голосов 86: ↑83 и ↓3+80
Комментарии14

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность