Pull to refresh
2
0
Send message

Разглядывая JTAG: что внутри?

Reading time27 min
Views14K

Ознакомившись с работой JTAG в общих чертах и написав файл BSDL для воображаемой микросхемы в предыдущей статье, можно рассмотреть работу модуля JTAG внутри микросхем более детально. Для этого мы напишем прошивку для микроконтроллера и для ПЛИС (на «Си» и на «SystemVerilog»), которые позволят считывать/устанавливать логические уровни на отдельных выводах микросхемы через данный интерфейс.

Реализовать интерфейс JTAG
Total votes 31: ↑31 and ↓0+31
Comments8

Made at Intel. Architecture and religion

Reading time6 min
Views47K

Я подустал от мрачных текстов и вспомнил о своей давней мечте. За 20 с хвостиком лет работы в Интел у меня развеселых историй накопилось на целую книгу. Хотелось в ретроспективе посмотреть на некоторые события, участником которых мне довелось быть. И еще хотелось отдать дань уважения компании и людям, с которыми мне посчастливилось работать. Я уже даже название придумал – Made at Intel. Понятно, что пока я был внутри конторы, речь о публикации этих баек идти не могла. Я сам подшучивал, что для публикации нужно правильно выбрать время. В смысле сначала уволиться, а потом публиковать, а не быть уволенным вследствие публикации. :) Однако примерно 2 года назад я Интел покинул, и казалось бы меня уже ничего не сдерживало. Но тут, как всегда – то перо поломается, то струна порвется, то еще какая бяда приключится. К тому же на то чтобы писать книжку – это же рeшимости набраться надо... И вот – вчера я решил, что большое надо начинать с малого. Буду писать по главке и выкладывать сюда - собирать фидбек. Так мало –помалу и наберется.

Итак, сегодня вашему вниманию представляется первая глава, в которой эволюция архитектур Intel рассматривается с точки зрения ... истории религиозных течений. Да –да, не удивляйтесь, архитектура вычислительных устройств –это одна из самых религиозных вещей. Не думайте, что все решения по Instruction Set Architecture принимаются исключительно на основе анализа данных – это совсем не так. Скорее похоже на средневековое государство – тут есть немного бизнеса, побольше политики и очень много религии. Все просто – почти любой эксперимент в этой области растягивается на годы и обходится в миллиарды долларов. Хуже всего, что в процессе дизайна можно давать лишь приблизительные оценки ключевых характеристик – частоты, производительности, энергопотребления, температурной карты. То, как все оно будет на самом деле становится понятным уже только тогда, когда чип выходит из печки. Да сейчас в этой области уже накоплен определенный опыт и наши оценки становятся несколько точнее, но и только. А 20 лет назад этих знаний было куда меньше. И пионеры, подобные Интел двигались в темноте на собственный страх и риск. Разумеется, в таких условиях на первый план выходит кто во что ВЕРИТ. Ну да – еще кто лучше говорить умеет. Поэтому лучшие архитекторы приходят из школ с углубленным изучением богословия. :)

Читать далее
Total votes 118: ↑117 and ↓1+154
Comments49

Строковые алгоритмы на практике. Часть 3 — Алгоритм Рабина — Карпа

Reading time7 min
Views23K

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

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

Зубной налет, что это и откуда он берется

Reading time2 min
Views9.3K

Если Вы сделали большой промежуток между походами к своему стоматологу, то придя к нему в очередной раз, он покачает головой и скажет, что у Вас уже собрался зубной налет, а на некоторых зубах и
зубной камень. Но откуда налет вообще взялся, ведь Вы регулярно чистили зубы? Давайте разберемся

Читать далее
Total votes 22: ↑13 and ↓9+9
Comments5

Киргизия: интернет без цензуры, величественные горы и парадокс водителей

Reading time19 min
Views72K

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

Я не был исключением. Мой выбор пал на горную Киргизию. За последние два месяца я увидел очень мало отзывов и рассказов от айтишников, которые уехали в Бишкек, поэтому я решил написать свой. Если вам интересно, как живется в Бишкеке, как тут обстоят дела с интернетом и работой и как киргизы относятся к русским, то добро пожаловать под кат!

Читать далее
Total votes 157: ↑148 and ↓9+186
Comments155

Личный опыт: Работать Стоя

Reading time8 min
Views42K
image

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

image

Опрос, который я проводил 7 лет назад. С тех пор вряд ли что-то поменялось.(В конце поста новый опрос.)

Самый очевидное и популярное решение среди ИТишников — работа стоя. Но тут мне на тестирование попалась удивительная вещь. Под катом я расскажу, как я месяц по несколько часов в день тестировал стоялку-качалку или «вертикальный гамак».

Читать дальше →
Total votes 22: ↑20 and ↓2+33
Comments72

Вторая часть гайда по интервью за рубежом — Coding, System Design и Culture Fit

Reading time8 min
Views8.3K

Мы GeekFactor. Вместе с GetMentor мы помогаем разработчикам найти работу за границей, а компаниям подбираем подходящих кандидатов.

Главные этапы в собеседовании зарубеж — подача резюме, system design interview, coding interview и culture fit interview. На что обратить внимание и как готовиться, мы рассказываем в двух статьях. 

В первой части мы поговорили о том, из чего состоит собеседование за рубежом, как составлять резюме и что нужно помнить, когда проходишь screening interview — разговор с эйчаром. В этой — раскроем подробнее тему coding interview, culture fit interview и system design interview.

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

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

Почему GPU обманывают о своей нагрузке и как с этим бороться

Reading time10 min
Views20K
В предыдущем посте я рассказывал о том, как мы строили свои суперкомпьютеры. В этом — поделюсь опытом, который мы накопили, эксплуатируя наши кластеры. Этот опыт будет полезен не только тем, кто обучает огромные ML-модели. На грабли, о которых пойдёт речь, легко наступить, даже если вы специалист с парой GPU.



Почему в распределённом обучении нельзя доверять утилизации GPU? Почему переход в эру распределённого обучения — фундаментальный сдвиг парадигмы мышления, к которому должен быть готов каждый ML-разработчик? Ещё больше «Почему» и ответов на них — под катом.
Читать дальше →
Total votes 56: ↑55 and ↓1+73
Comments8

Заградотряд

Reading time7 min
Views90K

Вот вы как программистов удерживаете в компании? Хорошо платите? Создаёте комфортные условия? Интересные задачи и проекты? Перспективы? Обучение?

И как, получается? Сидят, не уходят? А сколько денег и усилий затрачиваете? Стоит оно того? Наверняка стоит. Но можно и по-другому. Дёшево и бесчеловечно.

Например, используя заградотряд.

Модель удержания программистов в одной известной на локальном рынке компании рассказал друг, который сумел оттуда сбежать. Как он это сделал – расскажу в конце.

Читать далее
Total votes 206: ↑181 and ↓25+208
Comments243

Особенности реализации STL в Clang, GCC и Microsoft С++

Reading time21 min
Views20K

Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы разобраться, как правильно ей пользоваться, в каких случаях лучше использовать другие библиотеки, а в каких стоит написать что-то своё. 

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

Читать далее
Total votes 57: ↑55 and ↓2+75
Comments12

Ленивый Reverse Engineering — Часть 2

Reading time4 min
Views6.5K

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

эмуляторы
библиотеки для разбора форматов файлов
интерактивные дизассемблеры
документация
динамическая инструментация

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments0

Нерезидент на удалёнке

Reading time7 min
Views9.2K

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

Согласно ст.312.1 ТК РФ, «дистанционной (удаленной) работой (далее - дистанционная работа, выполнение трудовой функции дистанционно) является выполнение определенной трудовым договором трудовой функции вне места нахождения работодателя, его филиала, представительства, иного обособленного структурного подразделения (включая расположенные в другой местности), вне стационарного рабочего места, территории или объекта, прямо или косвенно находящихся под контролем работодателя, при условии использования для выполнения данной трудовой функции и для осуществления взаимодействия между работодателем и работником по вопросам, связанным с ее выполнением, информационно-телекоммуникационных сетей, в том числе сети "Интернет", и сетей связи общего пользования.»

Статья 27 Конституции РФ гарантируем каждому свободу передвижения. И будет излишним говорить о праве работодателя ограничивать свободу передвижения работника, коль скоро трудовые отношения осуществляются в рамках дистанционной работы. Ст.81 ТК РФ также не предусматривает возможности уволить работника по инициативе работодателя за нахождение за пределами РФ или изменение налогового резидентства. Также закон не содержит общих правил, обязывающих граждан РФ сообщать работодателю о выездах за границу или изменение статуса налогового резидента.

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

Обход антивирусов в теории и на практике: краткий обзор способов и тестирование обфускаторов

Reading time11 min
Views18K

Прошлой осенью я протестировала программное обеспечение для обхода антивирусов, которое применялось на различных тренировках у нас на киберполигоне. Для исследования я выбрала несколько инструментов обфускации и проверила, смогут ли общедоступные средства антивирусной защиты — Microsoft Defender, Kaspersky Total Security и VirusTotal — обнаружить вредоносную нагрузку в файлах после их обработки обфускаторами.

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

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

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

Какой язык программирования учить в 2022 году: армянский или грузинский?

Reading time9 min
Views34K

За последний месяц IT-отрасль в России пережила серьезный стресс. По оценкам РАЭК в ближайшее время из России эмигрируют около 100 000 ИТ-специалистов, не говоря о том, что за первую волну эмиграции их число составляло приблизительно 80 000. Мы видим, что люди, которые идут на подобные шаги, часто местом релокации выбирают в основном страны ближнего зарубежья. Так сложилось, что у меня большое количество друзей и знакомых в Закавказском регионе и есть реальное представление о том, как протекает жизнь после последних событий и в Армении, и в Грузии. Поэтому я решил написать статью, посвященную именно этим двум странам, где я попытаюсь проанализировать жизнь до и после ИТ-нашествия, перспективы отрасли, а также финансовые аспекты  пребывания в обеих странах.

Читать далее
Total votes 62: ↑45 and ↓17+42
Comments150

Подборка материалов по мобильной безопасности «Awesome Mobile Security»

Reading time18 min
Views9K

Привет, Хабр!

Меня зовут Юрий Шабалин, я один из основателей компании "Стингрей Технолоджиз" (входит в группу компаний Swordfish Security), мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android.

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

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

Данайский захват (власти в соседнем отделе)

Reading time7 min
Views21K

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

Приём подлый, но, по непонятной мне причине, очень действенный. Настолько, что я перестал его применять (эта фраза – для ребят из соседнего отдела). Сразу скажу – примеров из реальной жизни приводить не буду, т.к. многие из участников тех событий прочтут этот текст.

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

Цель тоже может варьироваться. Основная, или наиболее распространённая – полный захват власти (вы становитесь начальником). Альтернативная – низвергнуть текущего начальника этого отдела. Речь может идти и об увольнении, и о понижении в должности, и о потере доверия со стороны вышестоящих.

Читать далее
Total votes 64: ↑37 and ↓27+24
Comments35

Атаки на сеть. Часть 2

Reading time5 min
Views13K

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

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

Разглядывая JTAG: идентификация

Reading time19 min
Views19K

Каждый электронщик, работающий (или отдыхающий) с цифровыми микросхемами рано или поздно обязательно сталкивается с протоколом JTAG. Значительное количество материалов о данном протоколе содержит три раздела:
1) Обширный экскурс в историю и рассказ о том, как стенд с летающими щупами и рентгеновская установка легко могут быть заменены отладчиком на 2-3 порядка дешевле их.
2) Достаточно сжатое описание протокола JTAG (с картинкой его конечного автомата).
3) Рассказ о том, что фирменный отладчик, а также программное обеспечение компании <COMPANY NAME> позволят почти без усилий протестировать почти любое устройство почти любой сложности и конфигурации.

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

Идентифицировать микросхему
Total votes 52: ↑52 and ↓0+52
Comments33

Разбираем алгоритмы компьютерной графики. Часть 4 – Анимация «Салют»

Reading time7 min
Views8.8K

Еще немного в копилку красивых эффектов и алгоритмов.

Вы в своей жизни наверняка видели салют, когда в ночном небе взрывает огненный шар и от него во все стороны медленно разлетаются огни.

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

Читать далее
Total votes 37: ↑36 and ↓1+42
Comments7

[Личный опыт] Жизнь в Сербии: переехать легко, но жить здесь понравится не всем

Reading time7 min
Views223K

Есть страны, для переезда в которые нужно собрать кучу документов и обязательно устраиваться там на работу. А есть другие, где обустроиться и получить ВНЖ сравнительно просто — по крайней мере пока. Одна из таких стран — Сербия. Наш сегодняшний герой переехал туда в 2013 с семьей и расскажет, как в этой стране живется, как обстоят дела с IT и стоит ли вообще сюда переезжать.

Читать далее
Total votes 67: ↑65 and ↓2+86
Comments81

Information

Rating
Does not participate
Registered
Activity