• ДНК глазами программиста

      От переводчика: Так как я не являюсь биологом, возможны неточности в переводе терминов (и не только :). Оригинал находится здесь.

      Если ты – молоток, то во всём увидишь гвоздь


      Это всего лишь размышления программиста о ДНК. Я не являюсь молекулярным генетиком.

      Исходный код


      Находится здесь. Это не шутка. Исходники можно просмотреть с использованием замечательного набора скриптов Perl под названием "Ensembl". Геном человека занимает приблизительно 3 гигабайта, которые можно сократить до 750 мегабайт, если отбросить шелуху. Немного печалит, что это всего лишь 2.8 браузеров Mozilla Firefox.

      ДНК похожа скорее не на исходники на языке C, а на байт-код для виртуальной машины под названием «ядро клетки». Крайне сомнительно, что существуют исходники, которые можно скомпилировать в этот байт-код: то, что мы видим, – это всё, что у нас есть.
      Читать дальше →
    • Разработка ПО для DSP TMS320F28 motor control

        В своей первой статье я обмолвился о данном семействе контроллеров, мне в лс написал не один десяток людей с вопросами о нем, хотя это и не являлось темой статьи. В гугл народ категорически не хотел идти, говоря об отсутствии информации. Я немного удивился и решил проверить — действительно на русском языке по семейству C2000 нет практически ничего (на фоне AVR, STM), а главное нет понятных стартовых гайдов. Информацию можно найти на английском языке, но опять же ее мало. Для меня это несколько удивительно, учитывая, что данному семейству лет уже не мало. Поэтому решено было в меру своих возможностей повлиять на ситуацию.

        Кому эти контроллеры в принципе нужны… Вы хотите собрать себе сварочный инвертор? Источник бесперебойного питания? Выпрямитель для гальванической ванны? Частотник? Инвертор для альтернативной энергетики? Станок с ЧПУ? Если хотя бы один пункт про вас, то статья посвящается именно вам!

        Остальным читателям тоже будет интересно узнать о «новом-старом» контроллере, зачем он нужен и как с ним работать. Данное семейство очень простое (сильно проще STM, LPC и прочих Cortex-ов), камни легко купить (на Али тоже есть), позволяют реализовать сверхнадежные промышленные решения, на их основе можно построить практически любую промышленную систему управления.

        Вы уже решили, что данный контроллер ваша мечта и готовы ринуться в бой? Тогда покупаем за 17$ вот такую отладку F28027-LaunchPad:


        Купили? Вот теперь можно и в бой. Если возник вопрос где купить «получше» и «подешевле», то идем в официальный магазин. Переходим сюда и видим ценник 17$. За эту сумму вы получите оригинальную отладочную плату и доставку курьером до двери. Я заказывал один раз в Китае на сдачу, вышло 16$ и это со скидкой и купоном, так еще и как «бонус» поход на почту. Поэтому рекомендую именно официалов. Поехали!
        Читать дальше →
      • Почему некоторые приложения используют не настоящие шкалы прогресса

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



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

        Однако, наблюдая за одной особенно приятной анимацией, изображающей постепенно заполняющиеся желтые и зеленые линии, мне стало интересно, действительно ли то, что я видел в этот момент на экране отражает прогресс реальной задачи, выполняемой на заднем плане. Правда ли, что «подробный анализ» моих доходов, который страница, судя по информации на ней, выполняла в тот момент, действительно требует там много времени? Разве TurboTax не произвела все необходимые проверки ранее, еще когда я вносил их в программу?

        Я попросил своего друга Эндрю Макгилла помочь мне разобраться с процессами, которые анимация призвана сопровождать. Мы прошерстили исходный код веб-сайта TurboTax и вскоре подтвердили мое подозрение: анимация была готовым, неизменяемым объектом. Мы не нашли каких-либо попыток ее взаимодействия с серверами сайта в момент ее отображения. Каждый пользователь TurboTax видел ту же картинку, одной и той же длительностью. Аналогичный процесс мы обнаружили еще как минимум на одной другой странице сайта, которая должна была отображать ход проверки применимости «всех возможных налоговых послаблений» с помощью трех анимированных шкал.
        Читать дальше →
      • Amazon запретила использовать слово Google

          Продолжается война двух интернет-гигантов, ожесточенно соперничающих на почве умных колонок и облачных веб-сервисов. В предыдущих сериях – Amazon внезапно убрала все продукты Google и её дочерних компаний из своего магазина. А когда Google в отместку заблокировал для девайсов, выпускаемых Amazon, доступ к своему YouTube, та сделала пиратское приложение для обхода блокировки и подала заявку на «AmazonTube», собственный сервис для стриминга видео. После выставки CES 2018, где компании мерялись крутизной своих умных колонок, и Google заполонила весь Лас-Вегас своими рекламными баннерами с Google Home, большинство экспертов считали, что интернет-гиганты охладятся. Но не тут-то было. На днях независимый разработчик обнаружил, что Amazon, похоже, начала запрещать использование самого слова «Google» на своих устройствах.

          Читать дальше →
        • Ван Гог компьютерного мира: программа генерации изображений


            В предыдущей статье мы с вами знакомились, а кто-то освежал в памяти, с тем, как мы научили машин понимать нашу речь. Сейчас сложно удивить программой или роботом, который может вести разговор с человеком. Но что если человек скажет роботу «нарисуй мне закат на морском берегу»? Сможет ли робот понять это и нарисовать? Теперь сможет. Благодаря разработкам Xiaodong He (не будем переводить имя, дабы его не исковеркать) и его команде исследователей искусственного интеллекта. Как работает их творение и можно ли открывать картинную галерею с работами данной программы, мы узнаем далее. Поехали.
            Читать дальше →
          • Что такое памп, и как не нужно торговать на криптовалютной бирже



            Пояснение


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

            Жадность фраера сгубила


            Неистовое желание заработать на сверх прибыльной сделке, а именно на пампе (искусственном повышении цены актива) при необдуманных действиях может привести к разорению.
            Читать дальше →
          • Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

            Зачем оно вам?
            Реклама
          • Управление интернет-реле из RouterOS Mikrotik через API

            MikroTik RODOS-8/9/10

            Удобный инструмент для управления PDU в роутерах MikroTik


            Компания MikroTik известна как производитель сетевого оборудования, отличающегося высокой надежностью при низкой цене и богатой функциональности. Программной основой для продуктов MikroTik является RouterOS – сетевая операционная система на базе Linux. Она запускается на RouterBOARD – большой линейке аппаратных решений, которая включает в себя как чисто операторское оборудование, так и платформы для домашнего использования. RouterOS предоставляет администратору/пользователю большие возможности настройки и управления маршрутизатором, позволяя оперировать не только встроенным функционалом системы, но и создавать свои варианты практически любых решений, через скрипт-программирование.

            В данной статье я рассмотрю как можно использовать расширенный функционал роутеров MikroTik для подачи команд управления электропитанием при помощи PDU (интернет-реле) непосредственно с роутера через функции-скрипты.
            Читать дальше →
            • +14
            • 5,5k
            • 7
          • Как вредоносный сайт-генератор сид-фраз позволил украсть $4 млн

            • Перевод
            Недавно Ars Techica опубликовала материал, описывающий как вредоносный (и уже неработающий ныне) генератор сид-фраз iotaseed.io позволил его создателю украсть криптовалюту IOTA на сумму почти $4 млн с кошельков пользователей.



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

            Ищем код


            Изначальная версия веб-сайт iotaseed.io была заменена сообщением о том, что он отключен. К счастью, копия сайта сохранилась у Wayback Machine.

            Веб-сайт ведет на гитхаб-репозиторий, предупреждающий посетителей, что код открыт для ознакомления, но рекомендующий пользователям производить генерацию сидов на самом веб-сайте, поскольку репозиторий может содержать более новый и еще не протестированный код.
            Читать дальше →
            • +16
            • 8,1k
            • 9
          • Семафоры, гонки, критические секции и Scratch. Зомби против растений

            • Tutorial

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


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


            Читать дальше →
          • Клиент HTML + JS для системы видеонаблюдения «Линия»



              На Geektimes я часто встречаю и с удовольствием читаю посты из серии DIY. Решив сделать небольшой вклад в копилку ценного опыта, собранного здесь, я собираюсь подробно описать процесс создания клиента для веб, базирующегося на серверах «Линия».

              Система видеонаблюдения «Линия» предоставляет открытое API, и разработчики заявляют, что на его основе можно написать собственный клиент для просмотра видеоархива и камер онлайн. Также при желании можно реализовать такие функции, как добавление событий в архив, наложение OSD поверх видео. Описание всех возможностей представлено в спецификации на официальном сайте.

              Данная статья — это реальный пример, как я, пользователь с начальными знаниями JS, HTML, написал собственное приложение, реализующее базовые принципы работы с серверами «Линия» через встроенный web-сервер.
              Читать дальше →
              • +10
              • 3,2k
              • 6
            Самое читаемое