• Недополученная прибыль на бирже из-за отключенного робота и лени

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

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

    Читать далее
  • Трехмерный движок в коде… ДНК

    • Tutorial
    UPD 29 ноября: Репозиторий с кодом ДНК выложен на GitHub.
    github.com/pallada-92/dna-3d-engine

    UPD 30 ноября:
    В англоязычном твиттере заметили проект
    Новость попала в топ-10 на HackerNews!






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

    Ответ довольно неожиданный — lingua franca для моделирования сложных процессов в клетках является реакции вида
    Эти реакции моделируются при помощи закона действующих масс, который одинаково работает и в химии, и в молекулярной биологии.

    — Неужели при помощи этих примитивных реакций можно что-то программировать?
    — Да, а то, что написано выше, вычисляет $B = \sqrt{A}$.

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

    Потом я расскажу, как полученные реакции скомпилировать в код ДНК, который можно синтезировать в лаборатории и (если очень повезет) получить трехмерный куб из двумерного массива пробирок.

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

    Для понимания статьи никаких предварительных знаний не требуется, необходимые сведения из школьной программы по биологии мы повторим в начале статьи. Также мы разберем типичные паттерны, которые использует эволюция для достижения сложного поведения в живых клетках.
    Читать дальше →
  • Если дома мы можем сами определять конфигурацию рабочего места, то в компаниях по-разному подходят к офисному проектированию. Где-то размышляют утилитарно и ставят обычные noname офисные столы рядами, как скамьи для гребцов на галере. Как итог — работать в таком офисе становится неприятно. А если попробовать что-то особенное? Повлияет ли это на продуктивность и насколько такой подход оправдан?
    Подробности — под катом
  • 7 правил проектирования печатных плат

      Приветствую! В процессе обсуждения статьи товарища KSVl была озвучена необходимость небольшого пособия по проектированию печатных плат. Очень часто на хабре я вижу статьи в стиле «5 правил оформления кода» или «5 шагов к успешному проекту», то есть очень удобные собрания тезисов по определенной теме. К сожалению подобных статей по разработке электроники мало и это плохо…

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


      Читать дальше →
    • Операционные системы с нуля; Уровень 1 (младшая половина)

      • Tutorial

      Эта часть посвящена улучшению навыков работы с Rust и написанию парочки полезных утилиток и библиотек. Напишем драйверы для GPIO, UART и встроенного таймера. Реализуем протокол XMODEM. Используя это всё, напишем простенький шелл и загрузчик. Перед прочтением настоятельно рекомендуется убедиться в прочтении Книги. По крайней мере от начала и до конца. Для ленивых, но чуть более опытных можно рекомендовать это. На русском можно поковырять вот тут.


      Ну и разумеется обходить стороной нулевой уровень совершенно не стоит. Алсо где-то половина этой части не требует малинки.

      Читать дальше →
      • +33
      • 39.9k
      • 5
    • Операционные системы с нуля; Уровень 0

      • Translation
      • Tutorial

      Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


      Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

      Читать дальше →
    • Супермедленный и супербыстрый бенчмарк

        В недавней статье про производительность Java разгорелась дискуссия на тему измерения производительности. Глядя на неё, с грустью приходится сознавать, что многие люди до сих пор не понимают, насколько сложно правильно измерить время выполнения того или иного кода. Кроме того, люди вообще не привыкли, что один и тот же код в разных условиях может выполняться существенно разное время. К примеру, вот одно из мнений:


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

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

        Читать дальше →
      • LTE Direct: связь без базовых станций



        Qualcomm, Facebook и ряд других IT-компаний экспериментируют с технологией, которая позволит смартфонам использовать их LTE-модуль для прямой связи с другими устройствами на расстоянии до 500 метров.

        Новая возможность, добавленная к протоколу LTE, допускает возможность связи между двумя абонентами в обход базовых станций. Телефоны смогут «говорить» напрямую с другими мобильными устройствами и обмениваться информацией с маячками, расположенными в магазинах и других предприятиях торговли.
        Читать дальше →
      • Министр связи Никифоров предлагает операторам повысить цены на 4G-тарифы

          В четверг на заседании комиссии по телекоммуникациям и информтехнологиям министр связи Николай Никифоров заявил, что считает существующие тарифы на связь 4G слишком низкими, цитирует министра РБК.


          Примерная реакция на слова министра связи

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