Как стать автором
Обновить
2
0
Александр Фоломкин @bambruysk

Разработчик микропроцессорных систем

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

Lock-free структуры данных. Concurrent maps: rehash, no rebuild

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

Пройдем по следам C++ 2015 Russia далее.
В предыдущей статье мы рассмотрели алгоритм для lock-free ordered list и на его основе сделали простейший lock-free hash map. У этого hash map есть недостаток: размер хеш-таблицы постоянен и не может быть изменен в процессе роста числа элементов в контейнере. Это не представляет проблемы, если мы заранее примерно представляем требуемый объем контейнера. А если нет?
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии8

Внедряем DevSecOps в процесс разработки. Часть 3. Этап Post-build Checks в DevSecOps, обзор инструментов

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

Привет! На связи Олег Казаков из Spectr

В предыдущей части статьи я говорил о таком этапе DevSecOps как Commit-time Checks. Он отвечает за контроль корректности и безопасности кода в GIT-репозитории. А в этой части материала я расскажу, что же такое Post-build Checks, и как на этом этапе используется такой класс инструментов, как Container Cheсks.

Узнать больше о DevSecOps
Всего голосов 1: ↑1 и ↓0+3
Комментарии2

А потом снизу постучали: продажи жестких дисков продолжают обваливаться. Падают и продажи ПК с ноутбуками

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


И по-другому это явление не назовешь, именно обвал. Дело в том, что продажи жестких дисков в первом квартале 2023 года упали на 35% по сравнению с прошлым годом. И эксперты уже не берутся прогнозировать дальнейшую динамику продаж — уж слишком все непредсказуемо. Подробности — под катом.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+53
Комментарии95

Как фрилансеру открыть фирму в Латвии и какие преимущества это дает

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

1. Введение


Всем привет, меня зовут Владислав, я из России, и я фрилансер-программист. Сейчас на Хабре очень популярная тема — юридические и налоговые вопросы при работе с Upwork, как получать и декларировать плату от зарубежных заказчиков, и так далее.



Я тоже довольно долго изучал эти вопросы. Российское законодательство по этим вопросам сильно зарегулировано, и все эти законы и правила причиняют массу проблем фрилансерам, работающим на зарубежный рынок. В итоге я принял решение перевести свой «бизнес» в другую юрисдикцию. Изучив все возможные варианты, я выбрал такой путь — зарегистрировать фирму ООО в Латвии, и принимать платежи от заказчиков на эту фирму. То есть просто переместить свой бизнес из России в Латвию.

Я уже год работаю в таком формате, я сталкивался с разными проблемами и оценил плюсы и минусы. В итоге я решил, что в сумме я выиграл от такого решения. В комментариях к статьям о фрилансе я периодически читаю вопросы типа «как работать на заказчиков из США», «Как платить налоги на платежи с Upwork-а», и поэтому я решил поделится своим опытом, тем более что подобных статей я еще нигде не видел.
Читать дальше →
Всего голосов 137: ↑132 и ↓5+127
Комментарии194

Espruino Pico: миниатюрная плата разработчика с JavaScript поможет быстро освоиться в мире электроники

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


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

Вместо этого используется JavaScript, в качестве управляющей «прослойки». Разработчики утверждают, что такое решение позволяет работать с железом напрямую, выставляя необходимые величины напряжения, и настраивая взаимодействие с внешними компонентами. От обычной АА батарейки чип может работать более 10 лет, такое низкое энергопотребления у платы.

Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии38

За один проход

Время на прочтение7 мин
Количество просмотров156K
Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается.
С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается.
Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так:

Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число

Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны при вычислении (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
Другие задачи
Всего голосов 73: ↑72 и ↓1+71
Комментарии56

Cхема > плата > ПЛИС

Время на прочтение10 мин
Количество просмотров39K
На Хабре есть статьи для начинающих ПЛИСоводов, есть статьи с обзорами средств трассировки печатных плат. На некоторые из них я уже ссылался в своей первой статье о создании печатных плат. Во второй статье про SimBank в комментариях у меня состоялся диалог о сложности разработки ПЛИС и поддержки проектов с ней. Было высказано мнение, что легче собрать несколько простых устройств вместо одного сложного. Иногда так действительно проще. Когда речь идёт о двух, четырёх, восьми устройствах. Ряд можно продолжать с привычной вам кратностью. До преодоления порога комфорта. Два — это куча? А что делать, если есть желающие на 100 или 200 однотипных устройств?
Использовать или не использовать ПЛИС в той или другой задаче каждый решает сам (или с коллегами).
Сегодня хочу предложить вашему вниманию статью об особенностях создания печатной платы с ПЛИС. За основу возьмём инструмент «IO Designer» от компании Mentor Graphics.

Кому-то может материал оказаться полезным, кому-то просто интересным, а кто-то может и не согласиться со мной.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии16

Как формальный менеджмент целый отдел загубил

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


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

Цели: классические. Повысить качество работы, эффективность, вывести отдел на новый уровень в целом.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии38

Гарри Каспаров проиграл суперкомпьютеру Deep Blue в шахматы из-за компьютерного сбоя

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


Одна из величайших шахматных партий всех времен и народов — это, вне всяких сомнений, сражение Гарри Каспарова и суперкомпьютера Deep Blue от IBM, в 1997 году. Это была уже вторая игра Каспарова с суперкомпьютером, матч-реванш машины.

Первая партия в игре была очень сложной и напряженной, у Каспарова было поначалу преимущество, но, начиная с 44 хода, он перестал понимать логику игры машины, и, в итоге, проиграл весь матч. Спустя некоторое время Каспаров даже обвинил инженеров IBM в «читерстве»: манипуляциях с ПО машины, которые и привели к поражению. Спустя 17 лет ситуация прояснилась — Каспаров проиграл из-за сбоя в алгоритме работы компьютера в самой первой партии всего сражения.
Читать дальше →
Всего голосов 145: ↑123 и ↓22+101
Комментарии103

Расширение возможностей стандартных робототехнических конструкторов с использованием LabView

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


И снова здравствуйте, уважаемые хабравчане! Вы собрали уже все возможные модели из вашего конструктора? Вам надоело «ездить по линии», «управлять с пульта» и «определять расстояние до объекта»? Вы уже забыли, когда последний раз доставали ваш конструктор с дальней полки? Пора смахнуть с него пыль и вдохнуть в него новую жизнь! Как это сделать? Читаем под катом!
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии15

OpenCV 2.4.3

Время на прочтение7 мин
Количество просмотров46K
Авторы: Анатолий Бакшеев, Кирилл Корняков(kirillkornyakov), Андрей Морозов(aod314), Вадим Писаревский, Олег Скляров(olegsklyarov), Евгений Таланин, Александр Шишков(AlexanderShishkov).

image image

Привет, Хабр!

Мы рады сообщить, что 2 ноября увидела свет новая версия OpenCV, свободной библиотеки компьютерного зрения. Этот пост написан разработчиками библиотеки, работающими в компании Itseez. Мы перечислим основные нововведения с момента выхода предыдущей версии, стоит отметить, что их достаточно много: новые алгоритмы, ускорение существующих, поддержка новых платформ, обновление процесса разработки, интеграции и тестирования, а так же обновлённая документация. За время подготовки релиза было закрыто более 210 задач на трекере (hackathon, release candidate, release): патчи, исправления ошибок, расширение существующей функциональности.

Но обо всём по порядку.
Читать дальше →
Всего голосов 102: ↑100 и ↓2+98
Комментарии12

Контроллер «Virt2real», или просто — Виртурилка

Время на прочтение15 мин
Количество просмотров193K
— Ты пил пиво, — тихо заговорил Джо. — Плохо работал консервный нож.
Ты сказал, что сам смастеришь консервный нож, побольше и получше. Это я и есть.
Генри Каттнер, «Робот-зазнайка»


UPD> Начат сбор предзаказов habrahabr.ru/post/163865

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

Картинка Для Привлечения Внимания


Пролог


Давным-давно мы с коллегой начали заниматься управлением через Интернет всякими штуковинами типа вебкамер и маленьких машинок. Чуть позже у нас появились ездящие девайсы посерьёзнее, способные нести на борту свой контроллер и ёмкую батарею. К тому же я увлёкся всякими летающими штуковинами — самолётами и коптерами, что внесло дополнительную лепту в список хотелок.

Не покидала мысль о том что хорошо бы сделать видео не «вид сбоку или сверху», а вид с борта девайса, от первого лица. То что самолётчики/коптеристы называют FPV. Было это примерно пару лет назад. Пробовали ставить на машинку аналоговую камеру и передатчик, принимали видео на ТВ-тюнер, далее отдавали на видеосервер для раздачи рулящим машинками. Но сразу всплыли нюансы — одновременно можно транслировать только 3-4 видеопотока, иначе появляются наводки с одного канала на другой. Плюс дороговизна такого решения, плюс проблемы с разрешёнными частотами, плюс паршивое качество картинки с постоянно появляющимися помехами… В общем, попробовали и забили на это дело. К тому же, возможностей управляющего контроллера (тогда всё было сделано на базе всем известной Ардуинки) начало нехватать. Стали искать другие варианты, чтоб было недорого, дёшево, удобно и практично. Но имеющиеся в продаже (за границей, само собой и с довольно высокой стомостью) на тот момент железки для нужд не подходили. Одни умели всё кроме видео, другие умели только видео, но не позволяли подключать периферию, и т.д. и т.п.

Читать дальше →
Всего голосов 234: ↑231 и ↓3+228
Комментарии210

Барьеры доступа к памяти в Linux

Время на прочтение15 мин
Количество просмотров49K
Эта статья — частичный перевод исчерпывающего руководства Дэвида Хоуэлса (David Howells) и Пола Маккени (Paul E. McKenney) распространяемого в составе документации Linux (Documentation/memory-barriers.txt онлайн версия).

Must read для разработчиков ядра/драйверов и очень познавательно для прикладных программистов.
ASCII art и очень много букв
Всего голосов 114: ↑109 и ↓5+104
Комментарии33

Информация

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