Search
Write a publication
Pull to refresh
21
0
Иван @sploid

User

Send message

Простейшие Lock-Free объекты для двух потоков

Reading time11 min
Views7.9K
Здесь было много статей об универсальных Lock-free объектах, однако, для некоторых частных случаев они излишне громоздки. Мой случай как раз таким и являлся: требовалось организовать одностороннюю передачу информации от одного потока другому. Главный поток запускает рабочий, после чего он может только запросить его остановку и никак больше управлять он им не может. В свою очередь рабочий поток может уведомлять главный о своем текущем состоянии (прогрессе выполнения), а также отсылать промежуточные результаты выполнения. Получается, что требуется только передача данных от рабочего к главному потоку.

Разумеется, возможно, я изобрёл велосипед или, хуже того, велосипед с глюками. Поэтому комментарии и критика очень приветствуются!
Читать дальше →

Интервью с Чальзом Дахиггом: как сила привычки может помочь достичь своих целей

Reading time7 min
Views29K
image

Ранее мы уже знакомили вас с переводами статей Chris Bailey, которые он писал по мере развития своего проекта a Year of Productivity — они доступны в нашем блоге в разделе «личная продуктивность».

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

Сегодня мы хотели бы поделиться одним из таких интервью – Крис беседовал с Чарльзом Дахиггом, автором знаменитой книги «Сила привычки». Чарльз считает, что формирование полезных привычек является одним из главных параметров достижения цели.

Итак, даем слово Крису!

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

Lock-free структуры данных. Диссекция очереди

Reading time11 min
Views28K

Со времени предыдущего поста из жизни lock-free контейнеров прошло немало времени. Я рассчитывал быстро написать продолжение трактата об очередях, но вышла заминка: о чем писать, я знал, но реализации на C++ этих подходов у меня не было. «Не годится писать о том, что сам не попробовал», — подумал я, и в результате я попытался реализовать в libcds новые алгоритмы очередей.
Сейчас настал момент, когда я могу аргументированно продолжить свой цикл. В данной статье закончим с очередями.

Кратко напомню, на чем я остановился. Были рассмотрены несколько интересных алгоритмов lock-free очередей, а под занавес приведены результаты их работы на некоторых синтетических тестах. Главный вывод — всё плохо! Надежды на то, что lock-free подход на магическом compare-and-swap (CAS) даст нам пусть не линейный, но хотя бы какой-то рост производительности с увеличением числа потоков, не оправдались. Очереди не масштабируются. В чем причина?..
Читать дальше →

Навигация в помещениях с iBeacon и ИНС

Reading time15 min
Views92K

  Представьте, что перед вами поставили задачу по реализации навигации внутри помещений. Соответственно, GPS/Глонасс и тому подобные системы спутниковой навигации вам недоступны. Что делать? В этой статье мы с вами подробно рассмотрим варианты решения подобных задач в теоретической части, а в практической – реализуем «в железе» indoor-трекер для работы с маячками iBeacon по Bluetooth BLE на NodeJS на базе новейшей платформы Intel Edison, рассмотрим применение трилатерации и фильтра Калмана, библиотеку CylonJS по работе с датчиками на NodeJS.

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

Сводная таблица по поддержке C++ 11/14/17

Reading time5 min
Views66K
Как любому C++ разработчику, следящему за новинками в отрасли и стандартами в частности, мне стало интересно, насколько полно вообще поддерживается стандарт C++ 11 (а также 1y и 1z) разными компиляторами? Да, существуют разные сводные таблицы, но чаще всего это сравнение двух компиляторов или двух версий одного компилятора, либо сводная таблица, но уже устаревшая, либо вообще неполный список. В общем, сел я да и сделал полную таблицу (на основе списка Clang-a и GCC) по четырем компиляторам: Clang, GNU C++, MSVC и Intel C++.
Таблица под катом

Автор книги Lean Startup Эрик Рис и Илья Королев (ФРИИ) о преимуществах «бережливого» подхода к созданию компаний

Reading time9 min
Views18K


Мы продолжаем публиковать в блоге ФРИИ материалы нового формата — для того, чтобы сравнить подходы к развитию стартапов в США и России мы устраиваем перекрестные интервью, в ходе которых на одни и те же вопросы отвечают знаменитые предприниматели, инвесторы и ИТ-эксперты двух стран.

В первом выпуске о причинах успеха и провала стартапов рассуждали Пол Грэм (Y Combinator) и Дмитрий Калаев (Акселератор ФРИИ). В сегодняшнем материале тему «бережливого» подхода к созданию стартапов обсудят автор книги Lean Startup Эрик Рис и инвестиционный менеджер ФРИИ Илья Королев ilyakorolev.
Читать дальше →

Дайджест российских программ поддержки ИТ-стартапов #1

Reading time12 min
Views12K


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

На сегодняшний день в России программ поддержки молодых предпринимателей, работающих при ВУЗах или тесно связанных с темой образования в целом, достаточно много, поэтому в рамках первого дайджеста мы расскажем лишь о некоторых из них. Помимо, собственно, перечня подобных компаний, мы включили в дайджест их более подробное описание, а также несколько небольших интервью, в которых представители программ поддержки отвечают на наши вопросы о том, как связаны их организации с классическим образованием, как такие компании популяризуют стартап-культуру в стенах своих alma mater и можно ли совмещать учебу и, пусть маленький, но бизнес.
Читать дальше →

Eggs.Variant — Часть I

Reading time14 min
Views8.9K
На публикацию этого перевода меня сподвиг комментарий пользователя @encyclopedist к недавней статье «Фабричный метод без размещения в динамической памяти». Статья меня заинтересовала, но беглое гугление не выявило перевода. «Непорядок.» — подумал я — «Такая интересная статья по С++ и не переведена на русский язык. Надо бы исправить.»

Оглавление
  1. Введение
  2. Проектирование
  3. Реализация

  4. О чём ещё не сказано


Размышления о разработке Eggs.Variant — обобщённом типобезопасном размеченном объединении на C++11/14.

Введение


Объединение — это специальный тип класса, который в один момент времени может хранить только один из своих нестатических членов. Он занимает столько места, сколько требуется для размещения наибольшего из его членов.
9 [class]/5 Объединение — это класс, определяемый с ключевым словом union; одновременно он может хранить только один из своих членов (9.5). [...]
9.5 [class.union]/1 В объединении активным может быть только один из нестатических членов, то есть, в данный момент времени в объединении может храниться значение только одного из его нестатических членов. [...] Размер объединения достаточен для вмещения самого большого из его нестатических членов. Каждый нестатический член размещается в памяти так, словно он является единственным членом структуры. Все нестатические члены объекта объединения имеют одинаковый адрес.

Оригинал
9 [class]/5 A union is a class defined with the class-key union; it holds at most one data member at a time (9.5). [...]
9.5 [class.union]/1 In a union, at most one of the non-static data members can be active at any time, that is, the value of at most one of the non-static data members can be stored in a union at any time. [...] The size of a union is sufficient to contain the largest of its non-static data members. Each non-static data member is allocated as if it were the sole member of a struct. All non-static data members of a union object have the same address.



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

Эквализация гистограмм для повышения качества изображений

Reading time4 min
Views63K
Всем привет. Сейчас мы с научным руководителем готовим к изданию монографию, где пытаемся простыми словами рассказать об основах цифровой обработки изображений. В данной статье раскрывается очень простая, но в тоже время очень эффективная методика повышения качества изображений – эквализация гистограмм.
Читать дальше →

Фабричный метод без размещения в динамической памяти

Reading time8 min
Views17K
У классической реализации фабричного метода на C++ есть один существенный недостаток — используемый при реализации этого шаблона динамический полиморфизм предполагает размещение объектов в динамической памяти. Если при этом размеры создаваемых фабричным методом объектов не велики, а создаются они часто, то это может негативно сказаться на производительности. Это связанно с тем, что во первых оператор new не очень эффективен при выделении памяти малого размера, а во вторых с тем что частая деаллокация небольших блоков памяти сама по себе требует много ресурсов.
Для решения этой проблемы было бы хорошо сохранить динамический полиморфизм (без него реализовать шаблон не получится) и при этом выделять память на стеке.
Если вам интересно, как это у меня получилось, добро пожаловать под кат.

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

Принтеры штрих кодов в автоматизации торговли

Reading time5 min
Views40K
Принтеры штрих кодов и этикеток занимают важное место в процессе автоматизации торгово-складской деятельности. С помощью таких устройств можно организовать процесс этикетирования на малом, крупном или среднем предприятии.

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

Краудфандинг, русскоязычная среда и софтовый стартап…

Reading time25 min
Views8.9K
Это публикация о том, как организовать и провести краудфандинговую компанию по сбору средств на софтовый стартап в русскоязычной среде.

Будет описана одна опробованная на практике методика с конкретными инструкциями и примерами. Отдельно будут рассмотрены особенности сбора средств: в русскоязычной среде; на стартап; на софтовый (ПО, веб-сервис) продукт. Что-то из сказанного весьма очевидно, что-то уже много раз говорилось, но будут описаны и такие вещи, о которых большинство даже не догадывается, и которые нигде не упоминались (по крайней мере, мне точно не встречались, а я ознакомился с большим количеством материалов о краудфандинге).

Внимание! Под катом ОЧЕНЬ БОЛЬШАЯ СТАТЬЯ!
Читать дальше →

Выставка робототехники Robotics Expo 2014

Reading time2 min
Views4.4K
Уважаемые хабравчане,

Продолжается сезон выставок! Компания Epson является информационным партнером выставки робототехники и передовых технологий Robotics Expo 2014, которая пройдет в Москве 27-29 ноября в КВЦ «Сокольники».


На своем стенде мы будем демонстрировать видеоочки Epson Moverio BT-200, а также GPS-часы Epson Runsense SF-510F, SF-710F и пульсометры Epson Pulsense PS-100, PS-500.
Читать дальше →

Идеальная передача и универсальные ссылки в C++

Reading time9 min
Views165K
Недавно на isocpp.org была опубликована ссылка на статью Eli Bendersky «Perfect forwarding and universal references in C++». В этой небольшой статье есть простой ответ на простой вопрос — для решения каких задач и как нужно использовать rvalue-ссылки.
Узнать этот ответ

100 приемов по управлению временем, вниманием и энергией

Reading time15 min
Views294K
Примечание переводчика: Перевод первой статьи из блога «A Year of Productivity» был благосклонно встречен хабра-сообществом, и меня попросили перевести еще несколько статей из этого блога. Приведенная ниже статья — самая большая и самая близкая к практике, её перевод затянулся у меня на несколько месяцев. Как и прошлый раз рекомендую читать комфортными порциями, записывая (или копируя куда-нибудь) советы, которые хочется попробовать применить на практике.

«Хаки» времени


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

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

Для начала вот несколько моих любимых приемов по тому как:
-  получить больше времени;
-  тратить время на правильные вещи.
Читать дальше →

За смарт-тележками будущее ритейла, или Как я изобрел колесо

Reading time6 min
Views35K
Однажды прочитал в умной книге, что любое изобретение, по сути, является следствием негативного опыта. Мол, так уж человек устроен, что раз набив себе болезненную шишку, в следующий раз он обязательно соорудит себе на голове что-то вроде каски. Утверждение спорное, не ко всему применимо, но в большинстве случаев верно.

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



Были, конечно, и те, кому по жизни больше всех надо, кто в силу гениальности привык думать за всех без привязки к личному опыту (да Винчи и Тесла, например), но это отдельная песня. В основном же, изобретения являются логическим итогом собственного эмпирического пути. Вот так примерно я недавно «изобрел» смарт-тележку для супермаркета.
Читать дальше →

EyeCare — снятие усталости глаз, лечение миопии, спазма аккомодации

Reading time2 min
Views84K
иконка приложения для лечения миопии и спазма аккомодации EyeCareВ России от 30 до 100 процентов населения имеют проблемы со зрением. При этом около 28% процентов детей страдают близорукостью (миопией). В государственных и частных клиниках нашей страны практикуют различные методы лечения близорукости у взрослых и детей — от выписывания витаминов для глаз или капель до лазерных операций. В последнее время врачи стали назначать комбинированное лечение на основе препаратов и работы в специальных сертифицированных медицинских программах-тренажёрах. Такое лечение не способно полностью восстановить зрение, но оно его временно улучшает за счёт снятия зрительного напряжения. Я сама в детстве проходила курс такого лечения. Существующие программы, используемые в таком лечении, стоят очень дорого, в государственных больницах их как-правило бесплатно нет, посещение сеансов в частных клиниках стоит ещё дороже, чем покупка программы.
Мы решили разработать собственную программу для лечения миопии, спазма аккомодации, снятия усталости с глаз и выложить её бесплатно.
Читать дальше →

Яндекс запустил сервис заказа услуг в Москве и Петербурге

Reading time2 min
Views35K
Сегодня «Яндекс» выложил в открытый доступ бета-версию своего нового проекта: сервиса по заказу бытовых услуг — ремонт, уборка, переезд и т.п. — "Яндекс-мастер". Сейчас к нему подключены 43 компании, оказывающих услуги в Москве и Петербурге, ведётся поиск партнёров и в других городах.


Скриншот главной страницы "Яндекс-мастера"
Читать дальше →

B1 Basis Band: часы-биорегистратор. Геймификация здорового образа жизни (первый обзор на русском)

Reading time8 min
Views107K
Мечта, пожалуй, любого айтишника — автоматизировать жизнь и поставить мониторинг на все на свете. До всего на свете еще далеко, а часы, позволяющие записывать целый ряд биопоказателей и отсылать их в «облако» для обработки и анализа, уже есть, и мне довелось их недавно приобрести.

.

Гаджет B1 Basis Band, один из номинантов выставки CES-2012, — это первый портативный биорегистратор, следящий за здоровьем с помощью датчиков, измеряющих сердечный ритм человека, влажность кожи, движение, температуру. Они следят за временем, потраченным на сон, считают количество сожжённых калорий. Данные через USB и bluetooth передаются на компьютер или мобильный телефон и заносятся в онлайн-профиль. В дальнейшем будем этот биорегистратор называть часами для простоты. Тем более, он еще и правда часы.

B1 Basis band продолжает линейку Fitbit, Jawbone, Nike Fuelband, дополняя привычное совершенно новыми функциями, которых еще ни в одних портативных устройствах не было. Стоит ли покупка потраченных денег?

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

Прославленный русский бухгалтер. Еще он усовершенствовал счёты

Reading time18 min
Views87K
image

Если человека, понимающего толк в бухгалтерии, спросить, кто является самым известным русским бухгалтером, ответ последует незамедлительно: Федор Венедиктович Езерский. И это правда – в силу причин, которые будут названы ниже.

Несмотря на то, что биографических материалов в Сети по Езерскому много, выкладываю на Хабре его иллюстрированную биографию. Пусть широкие массы хабравчан, из числа далеких от бухгалтерии, узнают о судьбе незаурядного и противоречивого человека, который:
  • создал новую information technology под названием тройная русская бухгалтерия;
  • является изобретателем вычислительного прибора – счётов оригинальной конструкции.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity