Pull to refresh
103.2
Karma
22.2
Rating
Evengard @Evengard

Немного: реверсер, администратор, .NET программист

  • Followers 32
  • Following 16
  • Posts
  • Comments

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework)

Timeweb Cloud corporate blog .NET *C# *Programming microcontrollers *DIY
Tutorial
dotnet nanoFramework

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудовании. В первой части мы познакомились с платформой .NET nanoFramework, её архитектурой, основными возможностями, посмотрели примеры программного кода. Теперь перейдем к практике, установим nanoFramework на микроконтроллеры серии ESP32 и STM32, напишем первый «Hello World!», поработаем с аппаратными интерфейсами, и оценим переносимость кода с «большого» .NET на платформу nanoFramework.
Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Views 9.6K
Comments 110

Разработчик браузера Flow рассказал, на какие ухищрения пришлось пойти для запуска Google Docs в браузере

JavaScript *Programming *Java *Browsers

Разработчики компании Ekioh доработали браузер Flow для поддержки Google Docs. Движок этого браузера написан с нуля, и его качество уже допускает нормальное отображение многих других сайтов, но для сложных веб-приложений потребовались дополнительные усилия. Результат работы по исправлению ситуации компания описала в посте в своём блоге.

Читать далее
Total votes 20: ↑20 and ↓0 +20
Views 4.1K
Comments 6

Запуск Windows VM под Linux в окне с нативной производительностью

ITSumma corporate blog Open source *Data visualization Software Games and game consoles

Looking Glass на домашнем компьютере разработчика

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

Разработчик по имени Джеффри МакРэй (gnif) не готов с этим мириться — и поэтому вместе с несколькими единомышленниками несколько лет назад создал приложение Looking Glass для запуска Windows VM под Linux в окне с нативной производительностью. 17 июля 2021 года вышла четвёртая стабильная версия хоста (B4). Если вкратце, Looking Glass позволяет использовать KVM (Kernel-based Virtual Machine), настроенный на сквозной проход сигнала VGA PCI (GPU passthrough) без подключённого физического монитора, клавиатуры или мыши.
Total votes 31: ↑30 and ↓1 +29
Views 9.5K
Comments 26

Нейросеть с нуля своими руками. Часть 2. Реализация

JavaScript *Programming *Popular science

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

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

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 7.6K
Comments 3

Абсолютная приватность сервиса в I2P: зашифрованный лизсет

ITSOFT corporate blog Cryptography *Open source *Network technologies *I2P *

Чтобы связаться с любым скрытым сервисом, необходимо получить его лизсет (LeaseSet), который содержит информацию о входных туннелях и криптографических ключах. Для этого все серверные конечные точки, ожидающие подключение, публикуют свои лизсеты на флудфилах (Floodfill) – роутерах, выступающих в роли справочной книги или доски объявлений. Несмотря на то, что флудфил получает лишь информацию о первых узлах входных туннелей и криптографические ключи, т.е. никакой компрометирующей информации в лизсете нет, архитектура I2P предусматривает использование зашифрованных лизсетов. Это позволяет скрыть наличие конечной точки (она же «скрытый сервис» и «destination») от возможного мониторинга на флудфилах.

Идентификатор незашифрованного лизсета – обычный внутрисетевой адрес скрытого ресурса, только без окончания «.b32.i2p». Это позволяет держателям флудфилов видеть в открытом виде адреса ресурсов, которые у них опубликовались. Если вы подняли в I2P личный ресурс и не хотите, чтобы о нем случайно узнал кто-то еще, зашифрованный лизсет – специально для вас!

Читать далее
Total votes 20: ↑20 and ↓0 +20
Views 5.7K
Comments 1

WinUI 3 — Новая эра разработки под Windows

.NET *Shells *API *C# *Development for Windows *
Sandbox

В календаре 8 марта, а я пишу эту статью. Почему? - Потому, что WinUI 3 - это важно!

В этой статье:

- WinUI 3 - это не просто новая версия библиотеки пользовательских компонентов. Это изменит разработку ПО под Windows и не только.
- Как менялась разработка графических интерфейсов?
- Эволюция системных API пошла не по плану....
- В чём провал Universal Windows Platform?
- Что такое .NET, и почему за ним будущее?

Читать далее
Total votes 58: ↑52 and ↓6 +46
Views 39K
Comments 165

Регулярные выражения (regexp) — основы

IT systems testing *Regular expressions *

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее
Total votes 59: ↑51 and ↓8 +43
Views 117K
Comments 67

Сборка модуля ядра Linux без точных заголовочных файлов

Development for Android *Development for Linux *
Sandbox

Представьте, что у вас имеется образ ядра Linux для телефона на базе Android, но вы не располагаете ни соответствующими исходниками, ни заголовочными файлами ядра. Представьте, что ядро имеет поддержку подгрузки модулей (к счастью), и вы хотите собрать модуль для данного ядра. Существует несколько хороших причин, почему нельзя просто собрать новое ядро из исходников и просто закончить на том (например, в собранном ядре отсутствует поддержка какого-нибудь важного устройства, вроде LCD или тачскрина). С постоянно меняющимся ABI ядра Linux и отсутствием исходников и заголовочных файлов, вы можете подумать, что окончательно зашли в тупик.

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

Но больше об этом далее.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 13K
Comments 8

Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer

Popular science Biotechnologies
Translation
Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК.

Да, такое заявление может вас удивить. Вакцина – это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код?

Хороший вопрос. Начнём мы с небольшой части того самого исходного кода вакцины BioNTech/Pfizer, также известной, как BNT162b2, также известной, как Tozinameran, также известной, как Comirnaty.


Первые 500 символов мРНК BNT162b2.

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.
Total votes 316: ↑310 and ↓6 +304
Views 100K
Comments 355

Создана обертка для Media Creation Tool, с ней можно выбрать нужную для установки версию ОС Windows 10 от 1507 до 20H2

System administration *Software IT-companies


Пользователь под ником AveYo выложил на GitHub Gist скрипт для создания универсальной обложки для Media Creation Tool (штатного инструмента для создания инсталлятора Windows 10). Теперь пользователям и системным администраторам не нужно отдельно искать и скачивать ISO-образы нужной им версии Windows 10. Быстрее и проще это можно сделать с помощью MediaCreationTool.bat в пару кликов. Скрипт поддерживает версии Windows 10 от 1507 до 20H2, включая корпоративные версии ОС.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 34K
Comments 44

Синдром самозванца и эмоциональное выгорание

Personnel Management *Health
Тема самозванцев и границ очень актуальна в мире IT. Я практикующий психолог, и знаю это, потому что практикую именно с людьми из IT.

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

Синдром самозванца




Никто, приходя к психологу, не говорит: «У меня синдром самозванца! Помогите». Жалобы обычно звучат так:

  • у меня проблемы с коллективом
  • меня не устраивает моя работа
  • я постоянно недоволен собой
  • не хочу ходить на работу
Читать дальше →
Total votes 61: ↑59 and ↓2 +57
Views 36K
Comments 34

Как использовать консоль JavaScript: выход за пределы console.log ()

JavaScript *
Sandbox
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal.

Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов, предоставляемых консолью, которые могут помочь улучшить отладку.

Давайте начнем.

Самым базовым вариантом использования является вывод строки или группы объектов JavaScript. Довольно просто,

console.log('Is this working?'); 

Теперь представьте сценарий, когда у вас есть куча объектов, которые вам нужно вывести в консоль.

const foo = { id: 1, verified: true, color: 'green};
const bar = { id: 2, verified: false, color: 'red' };

Самый интуитивно понятный способ вывода просто console.log (variable) несколько раз. Проблема становится более очевидной, когда мы видим, как оно отображается в консоли.

image

Как видите, имена переменных не видны, что не очень удобно. Это можно решить объединив все переменные в единый console.log ({foo, bar}). Это также уменьшает количество строк console.log в нашем коде.
Читать дальше →
Total votes 36: ↑23 and ↓13 +10
Views 8.4K
Comments 2

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2

Smart House

Введение


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

После часов поисков я решил, что мне подходит Home Assistant. Строить всё на начальном этапе я решил с использованием Raspberry Pi 4 Model B (2GB) и датчиков от Xiaomi. Купив шлюз (нужна версия с артикулом DGNWG02LM) и включив протокол связи локальной сети, я столкнулся с тем, что порты 4321 и 9898, необходимые для интеграции в Home Assistant, по-прежнему остались закрытыми.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Views 26K
Comments 33

Знакомство с wal-g системой бекапирования PostgreSQL

PostgreSQL *SQL *IT Infrastructure *Database Administration *

WAL-G — простой и эффективный инструмент для резервного копирования PostgreSQL в облака. По своей основной функциональности он является наследником популярного инструмента WAL-E, но переписанным на Go. Но в WAL-G есть одна важная новая особенность — дельта-копии. Дельта-копии WAL-G хранят страницы файлов, изменившиеся с предыдущей версии резервной копии. В WAL-G реализовано довольно много технологий по распараллеливанию бэкапов. WAL-G работает гораздо быстрее чем, WAL-E.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Views 15K
Comments 14

Если .NET работает везде, то на Windows 3.11 и DOS тоже

Abnormal programming *.NET *C# *Development for Windows *
Translation
Я часто повторяю, что .NET Core — это опенсорс и он работает «везде». MonoGame, Unity, Apple Watch, Raspberry Pi и микроконтроллеры, дюжина линуксов, Windows и так далее. Уже немало.

Но кому-то всё-таки мало. Михал Стреховски хочет запускать C# действительно везде.


C# в Windows 3.11

Он запустил код C# в двух «невозможных» системах, которые теперь дополнили наше определение «работает везде». Хотя это забавные эксперименты (не повторяйте их в продакшне), они подчёркивают как технические способности Михала, так и гибкость базовой платформы.
Читать дальше →
Total votes 63: ↑63 and ↓0 +63
Views 21K
Comments 46

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Health

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


Читать дальше →
Total votes 375: ↑370 and ↓5 +365
Views 369K
Comments 588

Возвращение солидарности: айтишникам и фрилансерам нужно организовываться

Community management *Product Management *
В обсуждении поста «Что на самом деле значит наезд Rambler Group на Nginx и к чему готовиться онлайн-индустрии» разговор зашёл не только о том, кто виноват — но и что делать.

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

alekciy Этого не будет, т. к нет профсоюзов.

vlsinitsyn работникам айти нужен профсоюз. И договор коллективный, в котором бы подобные статейки в контракте не имели возможности появится.

EgorKotkin Верно. И фрилансерам тоже.

Атака «Рамблера» на Nginx интернет-отраслью была воспринята как атака на неё саму, её основы, ценности, принципы и будущее — и привела к появлению множества идей, как на неё следует отвечать.

Что примечательно, все эти идеи — бойкот «Рамблера», получасовой блэкаут etc. представляют собой те или иные формы коллективного действия. Даже само массовое возмущение и обсуждение в ответ на эту атаку само по себе является реакцией и формой коллективного действия.
Читать дальше →
Total votes 129: ↑122 and ↓7 +115
Views 20K
Comments 310

Отправка сообщений peer-to-peer при помощи PeerJS

Instant Messaging *JavaScript *Programming *
Приветствую вас, уважаемые читатели. В предыдущей статье я рассказал, как сделать простую звонилку в браузере при помощи PeerJS. А сегодня планирую рассмотреть, как обмениваться сообщениями между двумя пользователями напрямую без задержек.

Кому это интересно? Если Вы разрабатываете онлайн игру, в которой необходим быстрый обмен данными между игроками, тогда прямой обмен сообщениями это пожалуй то, что вам нужно.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Views 5.9K
Comments 12

Любовь и совы: что хорошего в ночной смене

Wrike corporate blog Lifehacks for geeks Health
Sandbox
Чем плохи ночные смены знают многие: для здоровья вредно, весь режим себе испортишь, и вообще ночью спать надо. «Напомни, почему ты работаешь в ночную смену?» – иногда спрашивают друзья. Вот что мы в команде поддержки Wrike обычно отвечаем:

image
Читать дальше →
Total votes 50: ↑40 and ↓10 +30
Views 12K
Comments 31

Как устроена защита детей от информации — и феерическая история про то, откуда она сначала взялась (18+)

Мосигра corporate blog Product Management *Legislation in IT


Всё началось с американских комиксов после Второй Мировой. Дело в том, что до войны ввели запрет на продажу порнографии, а порнографией нередко занимались бывшие бутлегеры. И вот у них встали печатные станки, и надо было что-то срочно придумывать. Придумались комиксы, поскольку с накалом обстановки из-за войны начала расти потребность в простых штуках (а комиксы тогда делали так, что читать уметь далеко не обязательно) и простых же супергероях, дарящих утешение.

Появились Супермен и его братва. Чуть позже, примерно с появлением Чудо-женщины, всё это эволюционировало обратно к мягкой порнографии (оценочное суждение). Забегая вперёд — доктор психиатрических наук обвинял эту серию в развитии множества половых извращений у малолетних американцев. Почему? Да потому что для аудитории самый естественный сюжет с дамой в трусах поверх остальной не очень богатой одежды — быть в беде. Сексуально. Ну, насколько тогда было возможно.
Читать дальше →
Total votes 177: ↑175 and ↓2 +173
Views 79K
Comments 816

Information

Rating
282-nd
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity