Search
Write a publication
Pull to refresh
287
0.2
Владимир @32bit_me

Программист

Send message

Первый взгляд на Scaleway

Reading time5 min
Views55K
Случайно попалось упоминание о хостинге Scaleway.

Плюсы:
  • 4 ядра
  • 2 гигабайта оперативки
  • 50 гигабайт SSD диск
  • bare-metal! (то есть, нет никаких, даже чисто теоретических накладных расходов на виртуализацию)
  • за все это всего 3 евро в месяц! Очень дешево!

Но есть особенность: это ARM процессор. Да-да! Это 4-ядерный ARM процессор.


Любопытно же!?

USB bootloader на микроконтроллере: обновление прошивки с флешки

Reading time8 min
Views19K
Возможность обновления прошивки на серийно выпускаемых изделиях, или на единичных изделиях, находящихся в эксплуатации у заказчика трудно переоценить. Это не просто даёт возможность последующего устранения багов и расширения функционала, но и позволяет разработчику с более лёгким сердцем выпускать «еще сыроватый» продукт на рынок, если руководство того требует.

Поэтому важность наличия bootloader'а во вновь разрабатываемых устройствах в большинстве случаев не вызывает сомнений. В данной статье пойдет речь о разработке bootloader'а по интерфейсу USB на микроконтроллере Atmel SAM D21 с ядром Cortex M0+. А конкретно на SAMD21J18A. У микроконтроллеров SAM D20/21 нет предзаписанного бутлоадера, поэтому придётся заниматься его программной реализацией. На сайте Atmel можно найти Application notes, как сделать его с использованием стандартных интерфейсов (UART, I2C, SPI, USB). Под катом описание процесса создания USB-бутлоадера.
Читать дальше →

Разработка торговых роботов: поиск рыночных неэффективностей

Reading time9 min
Views17K
Примечание переводчика: Ранее в нашем блоге на Хабре мы рассматривали различные этапы разработки торговых систем (есть и онлайн-курсы по теме), и даже описывали разработку событийно-ориентированного бэктест-модуля на Python. Сегодня речь пойдет о том, как HFT-трейдеры в процессе разработки моделируют поведение людей, которые будут противостоять их торговым роботам на бирже.



Большинство трейдеров считает, что лучшие сделки должны совершаться при участии людей, выступающих в роли контрагентов, не при помощи компьютеров. Под компьютерами я имею в виду компьютерное исполнение ордера: не только алгоритмы высокочастотной торговли (HFT), но и некоторые другие виды алгоритмов исполнения ордеров. Высокочастотные трейдеры выходят на рынок, только когда уверены, что ордер принесет прибыль, их алгоритмы исполнения в основном работают в случае движения большого объема акций, поэтому даже если алгоритм недостаточно эффективен, он все равно может составить [человеку] опасную конкуренцию. Люди же, в свою очередь, действуют недостаточно точно при установлении цены (установление мгновенной цены с точностью до нескольких знаков после запятой – не самая лучшая трата времени для трейдера), еще более неточно – при назначении времени исполнения своих ордеров и их отмене (человеку присущи медлительность и невнимательность).
Читать дальше →

Алгоритмическая и автоматизированная торговля: 13 книг по теме

Reading time4 min
Views36K


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

Сам термин «Алгоритмическая торговля» сейчас настолько на слуху, что некоторые нерадивые авторы пользуются этим и втискивают его в название своих книг, чтобы привлечь читательское внимание.

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

Оптимизация циклов: нужны блоки

Reading time5 min
Views15K

Среди большого количества цикловых оптимизаций, одной из наиболее эффективных является техника разделения цикла на блоки (loop blocking). Суть её заключается в изменении итерационного пространства с целью более оптимальной работы с памятью, то есть уменьшения промахов кэша. Для этих целей в последней версии компилятора появилась специальная директива, позволяющая контролировать эту оптимизацию. Но обо всём по порядку.
Читать дальше →

Разработка торговых роботов: история проекта StockSharp

Reading time4 min
Views22K
В нашем блоге мы много пишем о технологиях, связанных с фондовым рынком (например, соответствующих протоколах передачи данных — раз, два, три). Существует огромное количество биржевого софта, процесс создания которого довольно интересен. Ранее мы рассказывали о разработке торгового терминала SmartX, а сегодня представляем вам историю разработчиков проекта по созданию торговых роботов StockSharp.



В этой статье мы расскажем о нашем продукте StockSharp, который создаем уже долгие годы. Зачем мы это делаем, кому он нужен, какие преимущества и какие перспективы. Статья разбита на отдельные разделы, но читать лучше по порядку.
Читать дальше →

SoC: пишем реализацию framebuffer для контроллера в FPGA

Reading time13 min
Views34K


Приветствую!

В прошлый раз мы остановились на том, что подняли DMA в FPGA.
Сегодня мы реализуем в FPGA примитивный LCD-контроллер и напишем драйвер фреймбуфера для работы с этим контроллером.

Вы ещё раз убедитесь, что разработка под FPGA и написание драйверов под Linux дело очень простое, но интересное.

Также в конце есть маленький опрос — хочется узнать мнение сообщества. Если не сложно, прошу проголосовать.

Добро пожаловать

Кто жмёт лучше, или Уолш против Фурье

Reading time26 min
Views25K
Несмотря на развитие науки и техники, сжатие информации по прежнему остаётся одной из актуальных задач, где особое место занимают алгоритмы сжатия видеоинформации. В этой публикации речь пойдёт о сжатии статических цветных изображений JPEG-подобными алгоритмами.

Для начала хочу поблагодарить автора статей «Декодирование JPEG для чайников» и «Изобретаем JPEG», которые очень помогли мне в работе по написанию данной публикации. Когда я занялся вопросами изучения алгоритмов сжатия изображений с потерями, то в части алгоритма JPEG меня всё время мучил вопрос: «Почему роль базисного преобразования в алгоритме JPEG отведена именно частному случаю преобразования Фурье?». Здесь автор даёт ответ на этот вопрос, но я решил подойти к нему не с точки зрения теории, математических моделей или программной реализации, а с точки зрения схемотехники.

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

Введение в высокочастотный трейдинг (HFT)

Reading time1 min
Views9.1K
Что такое HFT, или рассказ о том, в какие дебри могут завести программиста интерес к финансовым рынкам, и хобби в виде написания роботов для алгоритмического трейдинга. Доклад на Таллинском Devclub.

Алгоритмическая и автоматизированная торговля: Введение

Reading time8 min
Views22K


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

Цзы Лу спросил: «Вэйский правитель намеревается привлечь Вас к управлению государством. Что Вы сделаете прежде всего»?
Учитель ответил: «Необходимо начать с исправления имен».


Для начала давайте представим главных участников процесса биржевых торгов:

  • Клиент – инвестор, принимает инвестиционные решения и отдает приказы (ордера) брокеру-посреднику
  • Брокер – посредник, является членом биржи и принимает приказы от клиента и передает их для исполнения на биржу, получает от биржи результаты и передает их клиенту (пример такого брокера — это как раз ITinvest — прим. ред.)
  • Биржа – получает приказы от членов-брокеров, осуществляет торги, отправляет брокерам отчеты по торгам

Мы рассматриваем случай, когда брокер является чистым агентом, т.е. средством передачи ордеров клиента на биржу и отчетов – обратно. Брокеры-агенты (agency brokers) зарабатывают исключительно на комиссии, которую платит клиент брокеру за исполнение ордеров.
Читать дальше →

CPLD-ретрокомпьютинг. Часть 1 — Доска для студента

Reading time12 min
Views25K
Ретрокомпьютинг бывает разный. Кто-то собирает килограммы древних процессоров, кто-то восстанавливает советские ЕС ЭВМ, кто-то до сих пор разгоняет Celeron в жидком азоте, а мы же насладимся платой Altera University Programm Board UP1 1997 года c древней CPLD MAX7128S и даже поморгаем светодиодом (и не только).
Дальше

Компания Hardkernel выпустила новую версию 37-долларового мини-ПК

Reading time2 min
Views19K


В декабре прошлого года компания Hardkernel выпустила модель мини-ПК, во многом схожую с Raspberry Pi. Этот гаджет получил название ODROID-C1, а его возможности значительно превышали возможности «малинки». Так, этот мини-ПК довольно сильно похож на Raspberry Pi B+, и форм-фактор и даже GPIO-разъемы аналогичные. Но ODROID-C1 оснастили четырёхядерным процессором Cortex-A5 с частотой 1,5GHz, 1GB DDR3, гигабитной сетевой картой и еще несколькими привлекательными для гика «плюшками». Сравнение обеих моделей — в продолжении.

Теперь же появилась новая версия Odroid — C1+. Стоимость девайса составляет не $35, а $37, а его возможности еще лучше, чем у предшественника.
Читать дальше →

Нововведения языка SystemVerilog

Reading time4 min
Views34K
image

В данной статье показаны некоторые нововведения языка SystemVerilog в области организации данных по сравнению с Verilog-2001 для синтезируемого подмножества языка.

История SystemVerilog довольна длина и туманна. Начавшись после принятия стандарта Verilog-95, она вылелась в Verilog-2001. Однако язык не слишком подходил для верификации, инженеры использовании языки семейства «E» — VERA, Testbuider. В современном виде SystemVerilog появился после 2005 года. Сейчас средства синтеза и моделирование такие как Quartus II, ISE, ModelSim/QuestaSim уверенно поддерживают SystemVerilog. Стандарт называется IEEE 1800-2012.

Прим. Эта статья давно написана, но не опубликована. Надеюсь будет полезна начинающим.
Читать дальше →

Обновление Linux в устройстве на базе чипа Altera SoC FPGA и получение доступа к расшаренным ресурсам Windows-сервера

Reading time8 min
Views26K


Недавно компания Terasic начала продажи весьма интересной платы DE0-Nano-SoC Kit. Интересна она тем, что за весьма скромную цену предлагается очень мощный и функционально-насыщенный комплект разработчика на основе чипа Altera Cyclone V SoC FPGA со встроенным двухъядерным процессором ARM Cortex-A9. Кроме того, производитель в комплекте с платой даёт ОС Linux, развёрнутую на карту памяти MicroSD.

Но получив эту плату в своё распоряжение, я довольно быстро наткнулся на несколько проблем, обусловленых тем, что Linux был скомпилирован из исходников Yocto Project. В основном все проблемы были связаны с отсутствием общедоступных репозиториев, из которых можно было бы добавить в систему недостающие компоненты. Например, для того, чтобы получить доступ с этого устройства через сеть к расшаренным ресурсам Windows-сервера, в ядре не хватало модуля поддержки файловой системы Cifs.

Поэтому прежде всего было решено обновить ядро, заменить Yocto на более привычный Debian Wheezy и доустановить всё, что необходимо для доступа к расшаренным ресурсам Windows-сервера.
Читать дальше →

Сборка USB HID под BeagleBone

Reading time2 min
Views15K


В одной из публикаций мы писали о настройке китайского USB-WiFi для Beagledone .Сегодня мы хотим привести способ сборки собственного класса управления устройством через HID-протокол. За основу была взята библиотека hidapi, а затем произведен способ кросс-компиляции под beaglebone и сборка тестовой программы для работы с USB-устройством.

Один из самых простых и надежных способов сделать управление по USB в Linux — это использование библиотеки libusb-1.0. Hidapi же является «надстройкой» над libusb, и служит для легкого подключения hid-устройств к программируемому девайсу. Если вы собираете на «чистой» системе hidapi, то придется отдельно собирать libusb и только потом собирать hidapi. В этой статье рассмотрим сборку именно hidapi. Заглянув вперед, скажем, что android ndk отказалась собирать hidapi без вмешательства.
Читать дальше →

Ethernet Library или почему в природе не существует серверов на Arduino

Reading time8 min
Views67K
image

В этой статье я опишу ситуацию с которой столкнулся во время разработки проекта Arduino Mega Server. Суть дела заключается в том, что существует такая библиотека Arduino Ethernet Library, написанная для поддержки сетевой платы Ethernet Shield на чипе W5100. Это стандартная плата и стандартная библиотека, которая многие годы поставляется в комплекте со средой разработки Arduino.

И эта библиотека является основой для всех проектов, использующих обмен информацией по проводной сети. Так вот, оказалось, что эта библиотека попросту профнепригодна. На ней в принципе невозможно построить нормальное сетевое взаимодействие. Можно только «баловаться» одиночными запросами и ответами. Ни о каком построении серверов на базе этой библиотеки речь не может идти. Почему?
Читать дальше →

STM32, C++ и FreeRTOS. Разработка с нуля. Часть 4 (Прерывания, UART и недоHART)

Reading time23 min
Views16K

Ведение


Попав в отпуске в город на Неве и посетив множество красивых мест, я все таки, вечерами за чашкой пива, разбирался с UARTом. Тем более, что я купил неплохие наушники Fisher FA011, к которым пришлось прикупить USB SOUND BLASTER X-FI HD и хотел послушать музыку.
Предыдущие статьи вначале переехали на Geektime потом я обратно их перегнал, даже и не знаю, куда теперь их деть :)
Но так на всякий случай они тут:
STM32, C++ и FreeRTOS. Разработка с нуля. Часть 1
STM32, C++ и FreeRTOS. Разработка с нуля. Часть 2 и
STM32, C++ и FreeRTOS. Разработка с нуля. Часть 3 (LCD и Экраны)
Читать дальше →

Как спроектировать и написать полноценную программу

Reading time5 min
Views36K
«Инструкция создания функционального приложения», часть 1.

«Мне кажется, что понимаю функциональное программирование на базовом уровне, и я даже писал простые программы, но как мне создать полноценное приложение, с реальными данными, с обработкой ошибок и прочим?»

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

Изготовление матриц для литья силикона

Reading time6 min
Views86K
На гиктаймс уже писали о литье пластмасс в силиконовые формы, но в этот раз мы будем лить силикон в пластмассу.

image

Краткая предыстория. Стала перед нами задача: изготовить энное количество резиновых кнопок от ключей автомобиля по образцу. Пробовали мы их печатать на 3D принтере из резинового филамента, но качество не устроило. Тогда-то и пришла мысль реверсировать технологию литья в силикон. Что из этого вышло, читайте под катом.
Много фото

Новости проекта Qucs: доступен кандидат в релизы с поддержкой моделирования схем в SPICE

Reading time6 min
Views18K
Qucs — это симулятор электронных схем с открытым кодом. О нём рассказывают мои предыдущие статьи на хабре.

Сейчас наш проект готовится к следующему релизу 0.0.19, который выйдет в ближайшие недели. Данная заметка содержит обзор наиболее ожидаемого за все последние годы нововведения: поддержки моделирования схем Qucs в SPICE-совместимых симуляторов.

Qucs использует ядро моделирования Qucsator, разработанное с нуля. Это ядро имеет много преимуществ (моделирование S-параметров, расширенный постпроцесоор), но также имеет многочисленные баги, связанные с моделированием во временной области (Transient analysis). Эти баги в частности не позволяют моделировать в Qucs силовую электронику. Теперь в Qucs можно смоделировать, например такую схему:



Скачать пакеты для Linux и Windows с поддержкой Ngspice можно здесь:
github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc1

UPD от 21.10.15: сейчас доступен RC3: github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc3

Буква «S» в номере релиза означает SPICE. По-видимому вместе с релизом 0.0.19 выйдет два набора пакетов: с индексом «S» и с обычной нумерацией, так как дальнейшая судьба spice4qucs неясна.

Документация для spice4qucs находится здесь: qucs-help.readthedocs.org/en/spice4qucs

Под катом будет кратко рассмотрено использование spice4qucs.

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

Information

Rating
5,211-th
Date of birth
Registered
Activity