Pull to refresh

SCADA «BortX» с поддержкой языка управления в рамках ANSI /ISA-88 для ESP8266

Reading time4 min
Views6.3K
Признаюсь честно — очень люблю cовременные микроконтроллеры. В частности, производства китайского производителя Espressif Systems с интерфейсом Wi-Fi. Речь, естественно, идет о ESP8266 и ESP32, которые обладают большим потенциалом в образовательном контексте.

image

Конечно, у них есть свои недостатки. Но цена. Это чудо. В частности, если покупаешь условный «Witty Cloud» за три доллара, в котором даже не надо мучаться вопросами питания и программирования. Сфера применения в IoT позволяет создать собственные проекты автоматизации различными путями — классическим образом: путем написания кода и работы в IDE. Или через тот же FLProg. Однако, как всегда, есть нюансы, несколько тормозящие репрезентацию работы в рамках типового применения ESP8266 как аппаратной основы. И проблема вовсе не в сетевом подключении, осуществляемой к домашней/офисной локальной сети с выходом в Internet через роутер.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Генерируем цепочку сертификатов с эллиптическими кривыми при помощи OpenSSL

Reading time8 min
Views25K
график функции y^2 = x^3-x+1Думаю многие слышали о криптографии эллиптических кривых, о том
что работает она во много раз быстрее RSA и при несоизмеримо меньшей длине ключа обеспечивает несоизмеримо большую стойкость ко взлому. Если не слышали, то можно глянуть на wiki или почитать в книгах А.А. Болотова.
К сожалению, данный вид шифрования слабо распространен. Я постараюсь объяснить как им пользоваться и поможет мне в этом OpenSSL.

Чтобы не быть голословным приведу сравнение необходимых длин ключей для обеспечения сравнимой стойкости ко взлому для различных алгоритмов. Нам интересна правая часть.
Сравнение алгоритмов
Видно, что популярным сегодня ключам RSA длиной 1024-2048 бит соответствует всего навсего 160-224битный ключ ECC (Elliptic Curve Cryptography)

Ну а чтобы понять какой RSA тормоз достаточно попробовать сгенерировать самый длинный из предложенных в таблице ключей (и пойти вздремнуть):

openssl genrsa 15360

Желающих прикоснуться к «next gen» криптографии, придуманной аж в 1985 году, прошу под кат.
Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments27

На что способен мозг студента, познающего компьютерный мир

Reading time7 min
Views24K
Доброго времени суток.

Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, карикатура на программирование.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments30

STM32: SPI: LCD — Вы всё делаете не так [восклицательный знак]

Reading time8 min
Views84K
Надеюсь сообщество простит меня за такой заголовок, просто в последнее время все чаще и чаще сталкиваюсь с программами в которых к микроконтроллерам STM32 подключают различные дисплеи с интерфейсом SPI и очень часто передачу данных при этом делают не правильно.
Как следствие — либо код не работает совсем и тогда в него внедряют различные задержки, или пишут код таким образом что он гарантированно будет работать медленно (по сравнению с возможной скоростью). А кто то, не разобравшись просто копирует чужой «с костылями» код, и потом такие «произведения» ходят по интернету из примера в пример…
Блок SPI описанный в данной статье точно есть у контроллеров семейств: STM32F1, STM32F2, STM32F4. По другим смотрите Reference Manual.

Откуда растут такие проблемы и каким образом они решаются под катом.
Читать дальше →
Total votes 50: ↑45 and ↓5+40
Comments44

Google translate+Asterisk IVR

Reading time7 min
Views34K
Долго думал в какой блог запостить и решил, что здесь ему наиболее подходящее место. Хотя бы потому, что основная идея топика «sh — может все».

В этом топике задали интересную тему — реализовать IVR для * с использованием синтезатора из Google Translate.

Я в общем то даже не планировал этим заниматься, но мне стало интересно.
Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments17

Как монобрендовому проекту попасть в ТОП, победив агрегаторы и внутренние сервисы поисковых систем?

Reading time9 min
Views5.7K
В этой статье мы расскажем какую стратегию стоит выбрать для продвижения монобрендового сайта в условиях текущих трендов поисковых систем, с какими конкурентами придется столкнуться и как показать неплохой результат.

Кирилл Терентьев, аналитик и SEO эксперт, рассказывает это на примере продвижения 2-х монобрендовых проектов ― Тимберленд и Нью Баланс. Он постарался понятно описать, как оцифровать потенциалы роста трафика, с какими сложностями мы столкнулись при работе и каких результатов все-таки достигли.

Тренды в поисковых системах


Уже достаточно давно идет тренд, что небольшому Ecom проекту все сложнее бороться за высокое место под поисковой строкой Яндекс и Гугл. В выдаче растет доля внутренних сервисов Яндекса (колдунщиков): Яндекс.Маркет, Фото, Видео, Район, Коллекции, Музыка и другие.

Все больше места занимают рекламные блоки Директа (до четырех-пяти спецразмещений сверху и снизу, быстрые ссылки в рекламных блоках, баннер на поиске). В выдаче растет доля агрегаторов (avito, tiu.ru, regmarkets.ru, в некоторых сегментах ru.aliexpress.com и ebay.com). Периодически долю трафика (суммарно значимую) забирают менее заметные агрегаторы, например: lagarderob.ru, snik.co, likewear.ru, shopomio.ru (не во всех нишах, и это пока сложно назвать трендом, но явление есть).
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments8

Egret. Free open source HTML5 game engine

Reading time5 min
Views31K
В данной статье будет рассмотрены вопросы, возникающие во время выбора Game Engine для разработки 2D игр. И, как вариант ответов на эти вопросы, будет предложено использовать Egret.


Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments26

Уменьшить использование оперативной памяти в Firefox 2.0 — проще простого!

Reading time1 min
Views469
После выпуска второй версии Файрфокса, незадачи с использованием очень большого количества оперативной памяти стали более проблематичными. В среднем, Firefox не должен занимать более 80MB вашей RAM. Любое число выше этого означает что вы — жертва Firefox’ового глюка с памятью. Вы наверняка уже видели много статей о том как от этого избавиться, но я пишу эту статью потому что ни один из этих способов для меня по настоящему не сработал. Эта статья немного другая — в нее я добавил несколько моих собственных ингридиентов для решения этой проблемы.

Читать тут: ru.vistarewired.com/2007/05/03/%d1%83%d0%bc%d0%b5%d0%bd%d1%8c%d1%88%d0%b8%d1%82%d1%8c-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%b8%d0%b2%d0%bd%d0%be%d0%b9
Total votes 15: ↑3 and ↓12-9
Comments13

Big data. Математика на службе биологии

Reading time15 min
Views8.2K
Автор сообщества Фанерозой, биотехнолог, Людмила Хигерович.

image
Так или иначе, каждый человек, использующий масс-медиа, краем уха слышал о “биг дата”. Однако что это такое на самом деле, за границами ИТ мало кто представляет. И еще меньше людей знают о том, насколько сильно наш сегодняшний мир, каким мы его знаем, зависит от этого малопонятного термина. При этом речь идет не только об обработке больших потоков данных новостей или запросов браузера, или социальных сетей. Сегодня мы расскажем вам о том, как технологии Big Data помогают расширять границы науки.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments13

Размышления о Personal Information Management

Reading time8 min
Views14K
Пару лет назад наткнулся на статью, в которой рассматривалась тема использования PIM в реальной жизни, с тех пор эта тема не покидает мои мысли. Прочитал и подумал: вот он Грааль личной эффективности. За это время прочитал достаточно много статей по этой интересной теме, но той единственной пока не нашел. Авторы статей размышляют на тему какой он, этот PIM, но четкого представления о том, что он из себя представляет, ни у кого нет, как нет и софта, который достаточно полно реализует идеи PIM.

Идеи в статьях на тему PIM:

1. PIM, как статичная, структурированная база материалов, интересующих пользователя.
2. Другие делают упор на организацию данных в виде MindMaps, на которых удобно отображать логические связи, генерировать идеи на основе отображенных данных.
3. PIM, как personal task manager, ориентированный чисто на реализацию принципов GTD.
4. PIM, как экспертная система, в которой накапливаются знания, которые получает пользователь в процессе своей профессиональной деятельности.
5. PIM, как дневник, в котором пользователь описывает свои идеи, ощущения. Такой «блог для себя самого».

Попробую сформулировать свои требования к «правильному» PIM, как я его представляю.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments4

Большие уличные часы

Reading time4 min
Views20K
Всё таки не хабраэффект не дает о себе забыть. Статья о том как сделать большие часы, которые можно повешать на здание. Скопирована на хабр т.к. сервер не в состоянии переварить столько посетителей.
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments33

Как стать успешным Рубистом

Reading time1 min
Views7.4K
Дмитрий Белицкий провел 18 потрясных интервью с рубистами. А я решил их перевести и опубликовать тут.

ATTENTION: rezwyi.blogspot.com/search/label/%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D1%8B%20%D1%83%D1%81%D0%BF%D0%B5%D1%85%D0%B0 здесь остальные переводы от товарища Сергея Резванова.

Как стать успешным Рубистом?

Ответ на этот вопрос знают, скорее всего, успешные рубисты.

Я подготовил девять вопросов и задал их по Email людям, которые, по моему мнению, являются таковыми.

Geoffrey Grosenbach
Desi McAdam
Giles Bowkett
Dirkjan Bussink
Jamis Buck
Yehuda Katz
James Edward Gray II
Carlos Gabaldon
Fabio Akita
Pat Allan
Peter Cooper
Ryan Bates
Paul Campbell
Matt Aimonetti
Nathaniel Talbott
Elise Huard
Chris Wanstrath (defunkt)
Oleg Andreev (oleganza)

1 — переводы постараюсь публиковать по одному в день.
2 — рад любым корректировкам
Total votes 70: ↑54 and ↓16+38
Comments27

Автоматическая газель на Arduino (часть 1)

Reading time4 min
Views48K

Введение


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

Немного о соревнованиях


Итак, сегодня я бы хотел рассказать о 3-их Всероссийских соревнованиях автомобилей роботов РОБОКРОСС-2012 проходивших в городе Волоколамск, и о том, как моей команде из Саратова MobRob удалось занять 2 место. Соревнования проходят при поддержке Фонда «Вольное дело» Олега Дерипаска, а также Россмолодежь. 2 года подряд соревнования проходили на озере Селигер, а в этот раз организаторы решили провести соревнования в Подмосковье, на оборудованном полигоне.


Читать дальше →
Total votes 115: ↑104 and ↓11+93
Comments45

Чертовы русские билды

Reading time1 min
Views802
Честно говоря, не знаю, как так получилось, что FF3.1b3 я скачал с интеграцией с Яндексом.

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

yandex.ru/yandsearch?stype=first&clid=46511&text=canon+%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C

Бесит страшно… ладно бы результаты поиска…

P.S.: теперь там реклама вываливается… Яндекс не поисковик, а унылое…
Total votes 26: ↑10 and ↓16-6
Comments25

Скажи мне, где ты, и я скажу тебе, где ты

Reading time7 min
Views24K
В подмосковном Подольске, в микрорайоне Силикатная-2, есть один лайфхак — когда на дворе уже 9 вечера, и пиво в магазинах уже не продают — достаточно просто перейти дорогу, чтобы его купить. Через дорогу Москва — в ней желаемое до 11 найти можно.

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

Исторически на этот вопрос отвечает «обратный геокодер»(reverse geocoder). Он важная часть практически всех картографических АПИ — Google, Яндекс, и даже OSM. Но в большинстве случаев его ответ предназначается человеку, и содержит исключительно текстовое описание локации.

Это-не-технологично! И уж точно непрактично. Esosedi, кушали этот кактус пару лет, а потом просто сделали свой обратный геокодер. Главное как и зачем.

Совсем недавно на хабре искали Смерть Кащееву (nested set и вложеность административных рубрик), ходили по районам(отображение данных регионов на карте), и (не)попадали на счетчик Яндекса (прямой геокодер). А теперь разберем, что такое обратный геокодер, и зачем он нужен. А потом разберем механики его работы.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments16

OpenSSL и Network Security Services (NSS) — две стороны одной медали

Reading time31 min
Views8K
imageО какой медали идет речь в заголовке? Речь идет об инфраструктуре открытых ключей (Public Key Infrastructure — PKI/ИОК) на базе стандартов криптографии с открытым ключом (Public Key Cryptography Standards — PKCS). Инфраструктура открытых ключей включает в себя множество различных объектов и механизмов работы с ними, а также протоколы взаимодействия объектов друг с другом (например, протоколы TLS, OCSP). В число объектов ИОК/PKI входят сертификаты x509 и ключевые пары (приватные и публичные ключи), подписанные и зашифрованные документы (pkcs#7, CMS), защищенные контейнеры для хранения приватных ключей (pkcs#8) и личных сертификатов с ключами (pkcs#12) и т.д. В число механизмов входят не только криптографические функции, которые позволяют шифровать и подписывать документы по различным алгоритмам, но и функции, формирующие конечные объекты ИОК в соответствии со стандартами (сертификаты, запросы, подписанные/зашифрованные документы, пакеты протоколов и т.д. и т.п.). Да, и как не вспомнить центральный объект ИОК/PKI — Удостоверяющий Центр (УЦ).
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments12

Разбираем x.509 сертификат

Reading time11 min
Views217K

Привет, %username%!

Так уж вышло, что несмотря на относительно неплохое понимание инфраструктуры открытых ключей, содержимое *.crt файлов всегда оставалось для меня полнейшей загадкой.
Нет, не поймите неправильно. Я знаю, что x.509 сертификат содержит информацию о владельце, открытый ключ, сведения об удостоверяющем центре и электронную цифровую подпись. Но при установке очередного сертификата меня всегда мучило любопытство.
Чем отличается идентификатор ключа от отпечатка? Какие данные сертификата подписываются, а какие нет? И что за структура данных позволяет хранить всю эту информацию, сводя избыточность к минимуму.
Но вот наконец-то любопытство перебороло лень и в данном посте я постараюсь описать структуру x.509 сертификатов и ответить на эти и другие вопросы.
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments31

Криптография с открытым ключом: ключи RSA

Level of difficultyMedium
Reading time23 min
Views11K

Уверен, что вы хотя бы раз создавали пару ключей RSA, напримет, потому, что вам нужно было подключиться к GitHub, и вы хотели избежать необходимости вводить свой пароль каждый раз. Вы добросовестно следовали инструкциям по созданию SSH-ключей, и через пару минут всё было готово.

Но знаете ли вы, что именно вы делали? Углублялись ли вы в детали процесса?

Знаете ли вы, что содержится в файле ~/.ssh/id_rsa? Почему ssh создает два файла с разным форматом? Замечали ли вы, что один файл начинается со слов ssh-rsa, а другой — с -----BEGIN RSA PRIVATE KEY----- ? Вы замечали, что иногда в заголовке второго файла отсутствует часть RSA и просто написано BEGIN PRIVATE KEY?

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

Читать далее
Total votes 24: ↑21 and ↓3+18
Comments1

Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета

Level of difficultyMedium
Reading time30 min
Views12K

В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфраструктуру. 

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

Для упрощения и автоматизации процесса обмена сообщениями мы воспользуемся Node-RED. Этот инструмент, помимо реализации основной логики обмена сообщениями, также предоставит графический интерфейс для мессенджера, что сделает процесс более доступным и интуитивно понятным. 

Выглядеть будет просто, потому что воспользуемся всем готовым :)

Свистать всех наверх!
Total votes 31: ↑29 and ↓2+27
Comments36

MagiKey. Магнитный ключ «на максималках»

Level of difficultyEasy
Reading time9 min
Views14K
Приветствую всех!

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

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



Итак, сегодня поговорим о самой продвинутой реализации устройств данного типа. Узнаем, как оно устроено и как работает, а также сделаем из подручных средств ключи для данного считывателя. Традиционно будет много интересного.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments19
1
23 ...