Search
Write a publication
Pull to refresh
301
0
Pavel Sokolov @crea7or

Head of software HMI

Send message

Self-contained дистрибуция .NET Core приложений

Reading time3 min
Views31K

Если вы вдруг пропустили, то .NET теперь open source, а .NET Core это бесплатный, open source, кроссплатформенный фреймворк, который вы можете скачать и запустить за время <10 минут. Вы можете получить его на Mac, Windows и на пол-дюжине Unix-ов с сайта dot.net Попробуйте его вместе с бесплатной, кроссплатформенной Visual Studio Code и вы будете писать на C# и F# всегда и везде.
Читать дальше →

Распознавание штрих и QR кодов в приложениях UWP

Reading time5 min
Views27K

Я не открою Америку, если скажу, что самой популярной библиотекой для распознавания штрихкода является ZXing («Zebra Crossing»). Список поддерживаемых форматов довольно внушителен и включает в себя: EAN-8 и EAN-13, QR Code, UPC-A и UPC-E, Code 39, Code 93, Code 128 и другие.

Есть порт и для WinRT, а значит, библиотеку можно использовать и с универсальной платформой Windows.
Читать дальше →

Запускаем Xamarin.Forms на Windows 7

Reading time3 min
Views12K
Xamarin.Forms достаточно интересный и перспективный фреймворк, который сейчас активно развивается и позволяет достаточно быстро получить кроссплатформенное приложение. По умолчанию Xamarin.Forms поддерживает 5 платформ, а именно: Android, iOS, WP, WinRT, UWP.

Несмотря на то, что Microsoft старается активно пересадить своих пользователей на Windows 10, на сегодняшний день Windows 7 все еще очень распространен во многих организациях, и возникает необходимость портирования/разработки приложения под Windows 7.
Читать дальше →

Высокоточные станки запрещено перемещать без разрешения производителя

Reading time1 min
Views162K

ЧПУ-фрезер Mori NV5000A

На форуме Practical Machinist развернулось феерическое обсуждение, как можно разблокировать ЧПУ-фрезер, который отказывается функционировать после перемещения на новое место.

Производитель оснащает станок GPS-сенсором и/или гироскопом. В случае перемещения станок автоматически блокируется до получения кода разблокировки.
Читать дальше →

Беспроводные технологии «интернета вещей»

Reading time11 min
Views28K
Привет, Гиктаймс!

В последнее время — ну как «время», так обычно говорят про дни или недели, а тут речь идёт скорее уже о годе-двух — мимо постоянно проскакивают статьи на тему «что такое Интернет вещей» (ну и на смежные: основные игроки, основные тенденции, новейшие продукты и так далее). К сожалению, примерно 99 из 100 из них насколько объёмны, настолько же и бессмысленны: их авторы пытаются говорить об IoT как о некоей единой и цельной концепции.

Однако цельного и единого IoT не существует и не может существовать. В лучшем случае, IoT можно определить как концепцию удалённого взаимодействия машина-машина (m2m) или машина-человек (m2h), в то время как классический Интернет — это взаимодействие человек-человек.

Но на этом единство и заканчивается. Можно ли описать одной статьей «тенденции и основных игроков интернета»? Да вы шутите, что ли? Придётся охватить СМИ, соцсети, видеосервисы, магистральных провайдеров, ВОЛС, сотовые сети, корпоративные сети, облачные сервисы для бизнеса, сетевое оборудование для дома, CPE для офиса, магистральное оборудование… всё это — части того, что называется сейчас «Интернет».

То же самое — и с «Интернетом вещей». Это и лампочки LiFX в квартире, и контроллеры Danfoss в вентиляционных установках офисных зданий, и ваш любимый фитнес-трекер, и система мониторинга дорожной обстановки мегаполиса, и централизованный сбор данных о состоянии и ресурсе парка электрофрезерных станков, и много чего ещё. Каждое из этих применений — это свой собственный рынок, собственные решения и на программном, и на аппаратном уровне и, разумеется, собственные игроки, многие из которых другими сегментами IoT не занимаются и никогда не будут заниматься.

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

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

Говоря человеческим языком — на чём сейчас принято делать нижние три уровня модели OSI.



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

Платформа для «Интернета вещей»: чипы TI CC1310, CC2630 и CC2650

Reading time8 min
Views28K

Привет, GT.


Несколько месяцев назад мы уже писали про то, какие протоколы связи используются (и не используются) в «Интернете вещей». Если говорить коротко, то вообще вся тема IoT в базисе сводится к предоставлению канала связи устройствам, у которых канала связи раньше не было — и чтобы это получило смысл, средства обеспечения такой связи должны быть:


  1. Компактными — чтобы не увеличивать размеры устройств
  2. Экономичными — чтобы долго работать даже на батарейках
  3. Дешёвыми — чтобы их использование имело какой-то экономический смысл

К всеобщему счастью, сейчас таких средств появилось достаточно много — начиная с в той или иной степени удачных попыток адаптации старого доброго Wi-Fi к этим требованиям (я сейчас в большей степени про устройства класса battery-powered Wi-Fi, от ESP8266 до QCA 4004 и TI CC3200) и заканчивая специализированными протоколами, изначально сделанными под данные требования: в первую очередь ZigBee, Z-Wave и 6LoWPAN.


Наиболее гибким, удобным и перспективным из этого является 6LoWPAN (а если вы слышали произносимое с придыханием слово «Thread», то он собственно поверх 6LoWPAN и работает) — и, собственно, мы как раз и занимаемся разработкой модулей и устройств с использованием 6LoWPAN.


Но сетевые протоколы — это, очевидно, лишь половина беды. Вторая половина — «железо», на котором они будут работать.



Модули 868 МГц нашей разработки на TI CC1310


В последнее время возникла мода клеить этикетку «IoT» буквально на всё, что хоть как-то умеет работать с «беспроводкой» — начиная с Arduino с нацепленными BLE- или Wi-Fi-шилдом и заканчивая всевозможными морально устаревшими чипами, к которым десять лет назад выпустили «официальный» стек ZigBee. У человека, который впервые в это погружается, голова закружится достаточно быстро и с неприятно большой скоростью.


Мы в своей работе однозначно определились с выбором платформы на обозримое будущее — это последнее поколение SoC Texas Instruments серии SimpleLink, чипы CC1310, CC2630 и CC2650.


Под хабракатом — объяснение, почему выбор именно таков и почему мы считаем его правильным.


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

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

Reading time40 min
Views551K
Взявшись за этот пост, автор полностью отдает себе отчет. И в том что «набило оскомину». И что «только ленивый не кинул камень». И про то что «хватит уже, достали». Однако, вдоволь начитавшись доморощенных и не очень аналитиков, автор решил все-таки выразить собственное мнение, которое отличается от того общепринятого, что с некоей мазохистской истомой доселе перепечатывалось здесь и тут различными авторами, интерпретаторами и переводчиками. Вероятно кому-то будет интересно его прочитать.

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →

«Почему всем можно, а мне нельзя?» или реверсим API и получаем данные с eToken

Reading time22 min
Views69K


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

Идея показалась неплохой, но как это реализовать? Тут я вспомнил, как однажды в бухгалтерии не работал банк-клиент, ругаясь на отсутствие библиотеки с говорящим именем etsdk.dll, меня охватило любопытство и я полез ее ковырять.

Вообще, компания-разработчик на своем сайте распространяет SDK, но для этого надо пройти регистрацию как компания-разработчик ПО, а это явно не я. На просторах интернета документацию найти не удалось, но любопытство одержало верх и я решил разобраться во всём сам. Библиотека – вот она, время есть, кто меня остановит?
Читать дальше →

Побег из Крипто Про. Режиссерская версия, СМЭВ-edition

Reading time11 min
Views69K

Эта статья посвящена тому, как перестать использовать Крипто Про и перейти на Bouncy Castle в девелоперском/тестовом окружении.
В начале статьи будет больше про СМЭВ и его клиент, в конце — больше про конвертирование ключей с готовой копипастой, чтобы можно было начать прямо сейчас.


Картинка для привлечения внимания:


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

Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?

Reading time27 min
Views412K
Статью с обзором ситуации с микроэлектроникой в России я закончил утверждением, что сейчас в России есть технические возможности для создания любых военных микросхем (если не считаться с ценой). Однако и в комментариях к той статье, и во многих других — всех больше волновал вопрос отсутствия (на уровне погрешности измерений) производства чисто-коммерческих (гражданских) высокотехнологичных продуктов. Этот вопрос волновал и меня, потому я постоянно мучил вопросами всех, кто так или иначе связан с высокими технологиями и бизнесом в России.

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

Под катом попробуем разобраться чем отличаются «высокотехнологичные» компании от «низкотехнологичных», что нужно, чтобы высокотехнологичные компании могли рождаться и выживать, почему с софтом у нас лучше, чем с хардом, с чего начиналась кремниевая долина в США и можно ли её «скопировать», почему Китай всех рвет, а также — окинем взором все, что происходит в Сколково, Роснано, фонде перспективных исследований и приведут ли они к расцвету российских инноваций. Безусловно, я где-то могу ошибаться — буду рад дополнениям в комментариях.

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

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

Reading time5 min
Views75K
Хорошие светодиодные лампы пока достаточно дороги, а из-за изменения курсов валют они стали ещё дороже.
Одни из самых низких цен на светодиодные лампы сейчас в магазинах IKEA.
Я протестировал 11 актуальных светодиодных ламп LEDARE, стоящих от 169 до 599 рублей.



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

Подводные камни WPF

Reading time20 min
Views82K
Каждый, кто достаточно долгое время разрабатывал приложения с использованием WPF, наверное, замечал, что этот фреймворк далеко не так прост в использовании, как может показаться на первый взгляд. В этой статье я попытался собрать некоторые наиболее типовые проблемы и способы их решения.
Читать дальше →

Оптимизация методов ToArray и ToList путём предоставления количества элементов

Reading time4 min
Views30K
Методы расширения ToArray и ToList — удобный способ быстро преобразовать перечисляемую последовательность (например, Linq-запрос) в массив или в список. Однако, в них есть кое-что беспокоящее меня: оба эти метода очень неэффективны, если они не знают количество элементов в последовательности (что почти всегда происходит, когда вы используете их в Linq-запросе). Давайте сперва рассмотрим метод ToArray (ToList имеет несколько отличий, но принцип практически такой же).
Читать дальше →

Переходим на HTTPS на Nginx: шпаргалка

Reading time3 min
Views162K
Уже второй раз сталкиваюсь с задачей «поставь https на наш сервер» от моего босса, поэтому решил сделать для самого себя шпаргалку, а заодно и для всех остальных. Итак, ситуация следующая: к нам пришел босс и заявил, что ему нужен https. Под катом я напишу 5 простых шагов, как все сделать буквально за час. Приступим.
Читать дальше →

Звук на чипе AY-3-8910 (или Yamaha YM2149F) родом с ZX Spectrum на PC через USB

Reading time5 min
Views55K
Прошло около года, с момента успешного подключения музыкального синтезатора YM2149F к LPT порту компьютера. LPT это конечно хорошо, однако время не стоит на месте, и найти компьютер или ноутбук с LPT портом становится все сложнее и сложнее. Да и сам автор (то есть я) устал лазить каждый раз под стол, где стоит системник, и перетыкать LPT плату на что-то другое, например программатор (у меня LPT-программатор Willem, ну да не суть). Поэтому на сей раз подключать чип YM2149F будем к USB. Ну и конечно, чтобы соотвествовать эпохе, будем это делать на копеечном древнем микроконтроллере PIC16F628.

image

Вкратце, YM2149F (или ее функциональный аналог AY-3-8910) — микросхема звукового трехголосного синтезатора, применялась в старых компьютерах типа Atari ST, Amstrad CPC, ZX Spectrum, MSX и некоторых других для проигрывания музыки. В России чип приобрел определенную известность благодаря установки в различные клоны ZX Spectrum'а. За время шествования ZX Spectrum по бывшему СССР музыкантами были написаны тысячи мелодий под этот звуковой программируемый генератор. Да и сейчас можно вполне найти людей, создающих музыку именно под этот чип. В конце статьи будут приведены ссылки на огромнейший архив чип-тюнов для YM/AY на сотни часов непрерывного прослушивания.
Читать дальше →

Windows 8.1 Kernel Patch Protection — PatchGuard

Reading time10 min
Views38K
imageПериодически, как правило во вторую среду месяца, можно услышать истории о том, что Windows после очередного обновления перестает загружаться, показывая синий экран смерти. В большинстве случаев причиной такой ситуации оказывается либо руткит, либо специфичное системное ПО, фривольно обращающееся со внутренними структурами ОС. Винят, конечно, все равно обновление, ведь «до него все работало». С таким отношением не удивительно, что «Майкрософт» не поощряет использование всего, что не документировано. В какой-то момент, а именно с релизом Windows Server 2003, MS заняла более активную позицию в вопросе борьбы с чудо-поделками сторонних разработчиков. Тогда появился механизм защиты целостности ядра — kernel patch protection, более известный как PatchGuard.

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

Жизнь за пределами Зиона

Reading time13 min
Views63K
С некоторым удивлением обнаружил, что для большинства хабражителей само собой разумеется, что внутри сервера стоят самые обычные Xeon’ы. Все остальные процессоры — это что-то далёкое и почти несуществующее, поэтому статья «Процессоры для корпораций» вызвала весьма живой интерес. Раз уж тема настолько интересная, попробуем заполнить информационный вакуум. Итак,

Кто и зачем их покупает?
Читать дальше →

Обзор обновлений платформы Microsoft Azure за октябрь-ноябрь

Reading time4 min
Views5.4K
В дайджесте новостей облачной платформы Microsoft Azure собраны основные анонсы и контент для разработчиков, ИТ-профессионалов и всех специалистов, интересующихся облачными технологиями и платформой Azure. Предыдущие выпуски дайджеста можно всегда найти по следующей ссылке.


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

Организация одновременного доступа к данным в облачном хранилище Microsoft Azure Storage

Reading time13 min
Views6.4K


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

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

Наиболее часто разработчики используют следующие три стратегии по управлению одновременным доступом к данным:
Читать дальше →

Как отправлять push-уведомления на Windows Universal app

Reading time6 min
Views9.2K
Мы делаем сервис для студентов, основной задачей которого является оповещение одногруппников о различных событиях. Для этого в первую очередь мы используем механизм push-уведомлений. Приложение, разработанное для iOS и Android, будет работать как на планшетах, так и на телефонах с этими операционными системами и механизм отправки push-уведомлений не зависит от класса устройтва. До недавнего времени для Windows и Windows Phone приходилось писать два раздельных приложения, однако теперь есть возможность создавать Universal Windows app — универсальные приложения, которые работают как на Windows 8.1, так и на Windows Phone 8.1. Мы решили не отставать от прогресса и разработали Universal Windows app, отправку push-уведомлений на которое мы также хотели сделать универсальной с точки зрения кода.


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

Information

Rating
Does not participate
Registered
Activity