Pull to refresh
2
0
Send message

Готовим драйвера МК для проброса периферии

Level of difficultyHard
Reading time12 min
Views3.1K

В предыдущей статье рассматривался принцип, как можно прокинуть периферию микроконтроллера (UART, I2C, CAN bus etc) в обычную ПК программу, так как если бы она входила в состав нашего компьютера и висела на обшей шине с памятью. В той публикации рассматривается теория и инструменты, которые позволяют это сделать. В этой части мы рассмотрим, как на практике осуществляется подготовка кода драйверов к инструментизации ADIN LLVM pass и последующей сборке в отдельную динамическую библиотеку, которую вы можете использовать в своих проектах

Готовим код драйверов
Total votes 13: ↑12 and ↓1+14
Comments0

Хардварный проброс

Level of difficultyHard
Reading time9 min
Views7.1K

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

Два пути как это сделать
Total votes 24: ↑24 and ↓0+24
Comments20

Как Kinect только Pinect

Level of difficultyMedium
Reading time9 min
Views3.3K

На мундиале 2018 году в России. Футбольные болельщики со всего мира могли бы увидеть и поиграть в наш отечественный игровой контроллер для писуаров. Не хочется писать по каким организационным причинам этого не случилось. Здесь я хочу рассказать как происходила разработка этого нестандартного игрового аппарата.

Как оно было...
Total votes 14: ↑12 and ↓2+14
Comments16

GraphQL, что ты такое?

Reading time7 min
Views17K

Привет! Сегодня у нашей статьи два автора — бэкенд-разработчик Артём и фронтенд-разработчик Илья. 

Примерно год назад мы решили попробовать внедрить graphQL у себя в проекте и сейчас хотим поделиться, как это происходило. Расскажем, что такое GraphQL, как его внедряли, почему мы вообще решили с ним подружиться и как начать взаимодействовать с API бэкенда словно вы граф, а не холоп.

Если лень читать или больше нравится видеоформат — вам сюда

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments22

Как работают браузеры. Часть 2: парсинг и выполнение JS

Reading time9 min
Views28K

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

В прошлой статье мы обсудили навигацию и получение данных. Сегодня поговорим о HTML- и CSS-парсинге и выполнении JavaScript.

Содержание:

1. HTML-парсинг:
— Парсинг
— Браузерные движки
— Токенизация
— Построение DOM
— Предварительные загрузчики и ускорение страницы

2. CSS-парсинг:
— Токенизация и построение CSSOM

3. Выполнение JavaScript:
— Движки JavaScript
— Компиляция
— Интерпретация
— Комплияция Just-In-Time
— Как обрабатывается код JavaScript

Читать далее
Total votes 15: ↑14 and ↓1+14
Comments2

Штраф в 150% от стоимости проданной квартиры: ужасы валютных нарушений, и как их избежать

Reading time11 min
Views66K

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

Читать далее
Total votes 155: ↑148 and ↓7+185
Comments173

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

Reading time5 min
Views9K

Мы расспросили шестерых прокачанных багхантеров, на счету которых сотни обнаруженных уязвимостей в системах известных компаний (в том числе с присвоенными CVE) и которые одними из первых присоединились к The Standoff 365 Bug Bounty, о том, какие ресурсы помогают им прокачивать навыки в offensive security и оперативно узнавать о новых ресерчах, техниках и эксплойтах. Надеемся, подборки Circuit, Ustinov, Zctym92, Fi5t, Impact и еще одного исследователя, пожелавшего сохранить инкогнито, помогут обнаружить те самые баги, которые принесут вам солидное денежное вознаграждение, признание комьюнити и публичную благодарность от известных компаний.

Подробнее
Total votes 8: ↑8 and ↓0+8
Comments1

Математика для 3D-приложений. Урок 1

Reading time6 min
Views28K

Это первый, вводный урок по линейной алгебре для разработки 3D-приложений от Александра Паничева — ведущего разработчика логики в UNIGINE. В этом уроке разберемся зачем 3D-разработчикам вообще нужна линейная алгебра, а также рассмотрим основные операции над векторами.

Читать далее
Total votes 19: ↑18 and ↓1+22
Comments12

Кариес зубов. Что это и откуда берется?

Reading time2 min
Views6.9K

Начнем статью с небольшого факта, Вы знали, что кариес - это самое распространенное заболевание на всем земном шаре? Около 90% взрослого населения либо сталкивалось, либо прямо сейчас живет с ним. Но что же это вообще такое?

Читать далее
Total votes 8: ↑6 and ↓2+6
Comments30

[Карьера в IT] Не HH единым: где искать вакансии, как с ними работать и при чем тут нетворкинг

Reading time4 min
Views18K

Где искать вакансии и как сделать так, чтобы рекрутеры сами вас находили? В прошлой статье нашей серии «Карьера в IT» мы обсудили составление резюме. Теперь поговорим о том, куда с этим резюме идти: где искать вакансии, в том числе в зарубежные компании, и как искать работу более активно. Будет очень много ссылок на разные ресурсы и телеграм-каналы, плюс поговорим про личный бренд и нетворкинг — они, на наш взгляд, важная часть поиска.

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments1

Linux и TinyСC в браузере

Reading time17 min
Views7.4K

Несмотря на то, что Clang in Browser довольно впечатляет, большинство существующих браузерных компиляторов все же находятся в экспериментальной стадии. Я же в этом проекте вместо портирования компилятора в WASM собираюсь пойти своим излюбленным путем – задействовать виртуальные машины. Этот способ не такой уж быстрый, особенно ввиду использования мной JS-эмулятора ЦПУ, но при этом все же позволяет добиться отличной производительности с помощью шустрого компилятора вроде Tiny С Compiler и кастомизированного Linux.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments0

7 причин почему вы не худеете. Ожирение, инсулинорезистентность и диабет простыми словами

Reading time16 min
Views58K

С лишним весом я на ты. Со 115 кг я «сбросился» до 72, затем в течение 3-х лет вернулся обратно к 94-м, а сейчас опять худею (уже грамотно) и в данный момент вешу 88.7 кг (ещё 7 скину и остановлюсь). Таких историй много, поэтому об этом я не буду, а вот причины (биологические и поведенческие), по которым вы можете не худеть, не видел, чтобы кто-то описывал в полном объёме и понятным языком. Сегодня я постараюсь сделать это для вас, обобщив все свои знания о лишнем весе. 

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

Читать далее
Total votes 81: ↑71 and ↓10+82
Comments103

RVO и NRVO в C++17

Reading time8 min
Views26K

Предположим, что в программе на C++ вы возвращаете из функции локальную переменную. Что происходит при вызове оператора return: копирование, перемещение или ни то, ни другое? От этого зависит длительность вызова функции и эффективность наших программ. Я постарался разобраться с этим вопросом и дам рекомендации по написанию функций так, чтобы повысить шансы на применение этой оптимизации компиляторами. Ну, а сокращения в названии статьи — это Return Value Optimization (RVO) и Named Return Value Optimization (NRVO).

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments31

[Карьера в IT] Как составить резюме, чтобы взяли в Долину. С плохими и хорошими примерами из практики

Reading time5 min
Views19K

Какое резюме точно зацепит рекрутеров и из стартапов, и из FAANG? Этой статьей запускаем серию материалов с универсальными карьерными советами. Разберем весь процесс: от резюме и поиска работы до принятия оффера. Особенно актуально для тех, кто ищет работу за рубежом, но и для российских компаний подойдет. Внутри этой статьи — чек-лист, взгляд профессиональных рекрутеров, примеры и практический опыт разработчиков. Пишите в комментариях, на какие еще карьерные вопросы вы хотели бы получить ответы — постараемся рассказать об этом в следующих статьях.

Читать далее
Total votes 16: ↑10 and ↓6+7
Comments5

Как Витамин C и Железо делают нашу кожу свежей?

Reading time3 min
Views5.5K

Большая часть витаминов применяется в организме широко – то здесь, то там, – и сегодня мы разберёмся пускай и в одном процессе, зато очень важном. Как Витамин С и Железо делают нашу кожу лучше и способствуют более быстрому заживлению порезов? К делу.

Читать далее
Total votes 10: ↑7 and ↓3+8
Comments11

Давайте знакомиться. Я руковожу производством электровакуумных приборов

Reading time6 min
Views32K

А ещё я являюсь инженером электронной техники, который вместе с несколькими другими инженерами и партнёрами сохранил и отчасти приумножил советские электровакуумные технологии.

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

Итак, в СССР на 1990 год действовали несколько крупных заводов по производству телевизионных кинескопов в городах Львов, Паневежис, Воронеж, Елец, Москва, Запрудня МО, Новосибирск, Новгород, Брянск, Нальчик. Ряд специальных ЭЛТ так же производился в нескольких НИИ. Это был достаточно мощный сравнительной высокотехнологичный индустриальный кластер, где работали более 70 тысяч человек (а со смежной цепочкой кооперации более 100 тысяч!). Ряд упомянутых заводов параллельно делали ещё другие электровакуумные приборы, в том числе осциллографические ЭЛТ и другие "приборные", ФЭУ, ЭОПы, имели свои сборочные производства телевизоров, компьютерных мониторов и разных стеклянных изделий бытового назначения.

Но всё равно, весь этот индустриальный кластер держался на массовом выпуске бытовых кинескопов, который с развалом СССР и началом реформ Гайдара-Ельцина начал резко стагнировать и уменьшаться в первую очередь из за очевидного проигрыша иностранным массовым образцам кинескопов по технико-экономическим параметрам. Наиболее длительно существовать на уменьшающемся рынке смогли заводы, которые либо выпускали только чёрно-белые бытовые кинескопы (для конкуренции с которыми западных массовых образцов приборов уже не было на рынке) и электровакуумные приборы для специальных применений, либо заводы, у которых была как большая номенклатура и цветных ( ЦЭЛТ ), и чёрно-белых кинескопов, а так же диверсификация в направлении другой бытовой и специальной техники. Массовое производство цветных кинескопов в РФ фактически остановилось в 1997-98 годах. После единственным и достаточно успешным наследником кинескопной промышленности СССР стал литовский завод "Экранас" ( г. Паневежис ). Его специалисты для увеличения мощности производства на европейские кредиты смогли фактически по цене металлолома скупить значительную часть советского оборудования последней модификации с остановившихся предприятий аналогичного профиля и провести работу модернизации такого оборудования на базе западной автоматики. Так же качество выпускаемых литовцами кинескопов резко возросло в связи с переходом предприятия на снабжение западными материалами и комплектующими. "Экранас" проработал до 2006 года и на пике в 2003-2004 годах выпускал цветных кинескопов порядка 5-6 миллионов в год, что было соизмеримо с мощностью всех советских кинескопных заводов вместе взятых.

Читать далее, как
Total votes 126: ↑121 and ↓5+155
Comments212

Релокация в Индию

Reading time5 min
Views26K

После известных событий нас временно релоцировали в Индию (Hyderabad). Не всех, а часть, кто хотел, просто чтобы все яйца не находились в одной корзине (в Питере). Я не претендую на лавры трэвэл блоггера, а просто хочу рассказать о впечатлениях с точки зрения айтишника и современных реалий.

Это не первый мой визит в Индию, первый раз я был в Гоа в 2019 году, когда еще был теплый ламповый доковидный мир, потому я примерно представлял себе, что увижу. тем более, Индия у меня не вызывает отторжения - в Гоа я чувствовал себя уютно, как дома, как будто жил там в предыдущей инкарнации.

Читать далее
Total votes 61: ↑55 and ↓6+71
Comments69

Фаззинг Linux через WTF

Reading time8 min
Views4.3K

Недавно появился фаззер What The Fuzz, который (кроме названия) интересен тем, что это:


  • blackbox фаззер;
  • snapshot-based фаззер.

То есть он может исследовать бинарь без исходников на любом интересном участке кода.


Например, сам автор фаззера натравил WTF на Ida Pro и нашел там кучу багов. Благодаря подходу с snapshot'ами, WTF умеет работать с самыми тяжелыми приложениями.


Ключевые особенности WTF, на которые стоит обратить внимание:


  • работает только с бинарями под x86;
  • запустить фаззинг можно и на Linux, и на Windows;
  • исследуемым бинарем может быть только бинарь под Windows.

Получается, нельзя фаззить ELF?


На самом деле, можно. Просто нет инструкции, как сделать snapshot для Linux. Все-таки главная мишень — это программы для Windows.


Эта статья появилась из желания обойти это ограничение.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Имитация деятельности в стартапе

Reading time3 min
Views6.4K
image

Аарон Харрис — 
бывший глава по инвестициям Series A в Y Combinator

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

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

Вещи, которые выглядят как работа над стартапом, но таковой не являются:
Читать дальше →
Total votes 10: ↑5 and ↓5+3
Comments1

Information

Rating
Does not participate
Registered
Activity