Pull to refresh
3
0

Пользователь

Send message

Грубая сила. Брутим RDP, SSH, VNC, Instagram и стандартные формы веб-аутентификации

Reading time4 min
Views13K

Приветствую всех читателей наших статей, с сегодняшнего дня хочу объявить ещё одну новую рубрику: "Грубая сила". В серии таких статей мы будем обозревать различные инструменты, методы, вспомогательные инструменты для атак методом "грубой силы" откуда и название, или под более привычным для нас названием брутфорса.

Читать далее
Total votes 10: ↑5 and ↓5+3
Comments6

Смотрим на современный инструмент для FPGA

Level of difficultyMedium
Reading time9 min
Views3.6K

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

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

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views43K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Total votes 173: ↑173 and ↓0+173
Comments30

Наноматериалы и нанотехнологии. Часть IV

Level of difficultyMedium
Reading time10 min
Views1.4K

В 1986 году в Австралии был открыт редкий биоминерал – медный оксолат кальция. Его назвали мулуит. В природе этот минерал связывают с деятельностью живых организмов. Он обнаружен в лишайниках на медьсодержащих минералах. Структура кристалла долгое время (почти 40 лет) не была достоверно определена. Получение кристаллов и расшифровка структуры мулуита оказалась задачей. Кристаллографам СПбГУ в лабораторных условиях удалось синтезировать кристаллы мулуита, пригодные для рентгеноструктурного анализа, и которые возможно подробно изучить на имеющемся оборудовании.

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

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

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

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

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

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views121K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Total votes 385: ↑385 and ↓0+383
Comments391

Методы ввода иероглифов

Reading time5 min
Views186K
Ввиду роста популярности китайского языка в последнее время, решил поделиться своим опытом и небольшими наработками в принципах и методах ввода этих самых загадочных иероглифов. Для начала немного теории, что это и с чем это есть.


Читать дальше →
Total votes 113: ↑109 and ↓4+105
Comments72

Как выглядит китайская клавиатура

Reading time8 min
Views389K
Вы, вероятно, представляли ее себе как целый орган — грандиозное сооружение длиной в пару метров с сотнями и тысячами клавиш. На самом деле, большинство китайцев используют обычную клавиатуру с латинской раскладкой QWERTY. Но как с помощью нее можно набрать такое несметное количество различных иероглифов? Мы попросили рассказать об этом нашу сотрудницу Юлию Дрейзис. Ее с Китаем связывают и давняя любовь, и работа.

История вопроса: печатные машинки


За несколько тысяч лет хитроумные китайцы успели довести количество иероглифов до 50000 с хвостиком. И хотя число нужных в повседневной жизни знаков не измеряется десятками тысяч, все равно, как ни крути, стандартный набор старой типографии — 9000 литер.

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

image
Печатная машинка фирмы «Шуангэ», 1947 год (принцип действия придуман японцем Киота Сугимото в 1915 году).

Читать дальше →
Total votes 242: ↑237 and ↓5+232
Comments213

Ужасы японского языка. Письменность

Reading time13 min
Views63K

Четыре года назад я совершил один из самых безрассудных поступков в своей жизни: начал учить японский язык. Разумеется, прежде чем решиться на такое приключение, я тщательно все продумал и провел подробное исследование на тему. Т.е. погуглил, что другие люди думают об этом экзотическом языке. Отзывы меня весьма приободрили. В них говорилось, что нужны годы и годы тяжелого учения. Люди писали, что, если тебе кажется, что язык очень тяжелый, то ты все еще недооцениваешь опасность раз в десять. Интернет пестрит предупреждениями, что тебе это не нужно; что это тяжело; что "не лезь оно тебя сожрет".

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

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

Читать далее
Total votes 165: ↑162 and ↓3+207
Comments331

Формула для корейского, или распознаем хангыль быстро, легко и без ошибок

Reading time7 min
Views23K
На сегодняшний день сделать распознавание корейских символов может любой студент, прослушавший курс по нейросетям. Дайте ему выборку и компьютер с видеокартой, и через некоторое время он принесёт вам сеть, которая будет распознавать корейские символы почти без ошибок.

Но такое решение будет обладать рядом недостатков:

Во-первых, большое количество необходимых вычислений, что влияет на время работы или требуемую энергию (что очень актуально для мобильных устройств). Действительно, если мы хотим распознавать хотя бы 3000 символов, то это будет размер последнего слоя сети. А если вход этого слоя равен хотя бы 512-ти, то получаем 512 * 3000 умножений. Многовато.

Во-вторых, размер. Тот же самый последний слой из предыдущего примера будет весить 512 * 3001 * 4 байт, то есть около 6-ти мегабайт. Это только один слой, вся сеть будет весить десятки мегабайт. Понятно, для настольного компьютера это проблема небольшая, но на смартфоне не все будут готовы хранить столько данных для распознавания одного языка.

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

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

И сегодня я расскажу, как нам удалось решить эти проблемы.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments18

Не Мистер Робот: фильмы и сериалы про IT, про которые вы могли не знать

Reading time7 min
Views6.5K

Всем привет, с вами я - доктор Аргентум. И сегодня я изучил фильмы и сериалы про IT, ИБ и другие произведения, связанные с ними. Я постарался включить в этот топ фильмы и сериалы, про которые вы могли не знать.

Хоть сегодня и понедельник, зато вы сразу можете выбрать фильм на выходные!

Погнали!

Читать далее
Total votes 12: ↑4 and ↓8-2
Comments25

Ручная работа со стеклом. Соединение деталей в плоские и объёмные конструкции

Level of difficultyMedium
Reading time7 min
Views7.1K
Работа со стеклом. Техника Тиффани

Стекло — особенный материал с необычными свойствами и, как правило, не вызывает энтузиазма при вероятном применении в своих работах, когда речь идёт о техническом творчестве в домашней лаборатории-мастерской. Слишком оно капризно в обработке, требует специального инструмента и приёмов, работа длительная и кропотливая. Тем не менее предложенная несложная техника расширяет возможности мастера-самоделкина и открывает ряд перспектив как художественного, так и сугубо утилитарного толка.
Читать дальше →
Total votes 80: ↑80 and ↓0+80
Comments23

Распаковываем файл gzip вручную

Level of difficultyMedium
Reading time5 min
Views12K

В этой небольшой статье мы создадим файл gzip, после чего разберём его внутренние составляющие и просмотрим начинку. Избегая лишней сложности, в качестве содержимого для сжатия мы просто запишем в изначальный файл 8 символов a.

$ echo "aaaaaaaa" > test.out
$ xxd test.out
00000000: 6161 6161 6161 6161 0a     aaaaaaaa.

Файл получился размером 9 байт — 8 символов a плюс перевод каретки в конце.

Теперь упакуем его. Сделаем это командой gzip -1, поскольку так мы задействуем самый быстрый метод сжатия, который позволит нам лучше разобрать процесс.

$ gzip -1 test.out
$ xxd test.out.gz
00000000: 1f8b 0808 bf35 6a61 0403 7465 7374 2e6f  .....5ja..test.o
00000010: 7574 004b 4c84 002e 00b6 66d7 ad09 0000  ut.KL.....f.....
00000020: 00

Дисклеймер: эту статью я писал в целях обучения, так что мог допустить некоторые ошибки. Мне нравится заниматься низкоуровневым программированием, но моя основная деятельность сосредоточена на веб-разработке для Microsoft Teams.
Читать дальше →
Total votes 41: ↑38 and ↓3+54
Comments14

Озвучка самокатов, часть 2: MIDI через пьезоизлучатель

Reading time15 min
Views2.3K

Всем привет! В первой части статьи мы рассказали о том, как на наших IoT модулях реализована схема управления пьезоэлектрическим излучателем (баззером) с регулировкой частоты и амплитуды; как эта схема управляется микроконтроллером программно, воспроизводя простые звуки и мелодии. Такая реализация показала себя надежной в эксплуатации, нетребовательной к ресурсам и на начальном этапе решала задачу базовой озвучки самоката. Шло время, появлялись новые сценарии взаимодействия с пользователями и нам самим хотелось чего-то большего — например, хорошо было бы сделать звучание самоката более “фирменным”, узнаваемым и приятным на слух. Так мы и задумались о “звуковом рефакторинге” — об этом и расскажем вам в этой статье.

Слушать далее
Total votes 8: ↑7 and ↓1+6
Comments4

Озвучка самокатов, часть 1: зачем нам пьезокерамика и как ее готовить

Level of difficultyMedium
Reading time11 min
Views4.5K

В Софт, хард и два колеса: как мы строили IT-инфраструктуру в Whoosh упоминалось, что первые версии IoT мы ставили под непрозрачную крышку, замещая стандартный модуль управления от самоката Xiaomi M365. То есть, после установки и проклеивания крышки, связь с модулем была только через облако. В идеальном мире этого было бы достаточно, но реальность диктовала условия, в которых нужна была индикация процессов — как в режиме обслуживания, так и в городе, у пользователей. Прием управляющих команд, отправка телеметрии, подключение к сети и выход устройств в онлайн — разные этапы нужно было различать сервисной команде для быстрой диагностики, а пользователя — предупреждать об изменениях в базовых сценариях использования — командах, ошибках, ограничениях и т.д.

Нужны звуки — решили ставить buzzer (или зуммер). Это такая электромеханическая штуковина, которая под воздействием внешнего переменного напряжения умеет деформироваться и издавать звуки.

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

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

Как устроен протокол iMessage

Level of difficultyMedium
Reading time5 min
Views5.3K

В этом посте я вкратце расскажу о внутреннем устройстве iMessage, изученном мной в процессе работы над pypush — опенсорсным проектом воссоздания реализации iMessage.

Ради краткости и понятности я не буду вдаваться в технические подробности. Если вы хотите узнать, как конкретно всё реализовано, то изучите репозиторий pypush.

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

Измерение скорости чтения-записи носителей с помощью утилиты dd

Level of difficultyMedium
Reading time11 min
Views18K
Недавно, я вновь побывал в роли технического эксперта, когда занимался переводом книги «Understanding Software Dynamics» от Richard L. Sites. В ходе работы над главой — про скорость работы с жёстким диском, мне поступил вопрос от коллеги: каким образом можно просто и быстро измерить скорость чтения и записи твердотельных носителей информации, в разрабатываемых в компании устройствах? При этом стояла задача реализовать всё это наиболее простыми способами, чтобы они были переносимы между совершенно разными платформами и архитектурами. Носители же информации могут быть любыми: USB Flash, eMMC, SD, NAND и прочее, прочее. Единственное, что их объединяет — это Linux.

Задача захватила меня с головой…
Читать дальше →
Total votes 41: ↑39 and ↓2+57
Comments47

Реверс-инжиниринг ячейки регистра процессора Intel 386

Level of difficultyMedium
Reading time10 min
Views11K

Новаторский Intel 386 (1985 год) стал первым 32-битным процессором линейки x86. У него есть множество внутренних регистров: регистры общего назначения, индексные регистры, селекторы сегментов и более специализированные регистры. В этом посте мы изучим кремниевый кристалл 386 и объясним, как реализованы некоторые из этих регистров на уровне транзисторов. Изученные мной регистры реализованы как статическое ОЗУ, где каждый бит хранится в стандартной восьмитранзисторной цепи, называемой «8T». Исследование этой цепи демонстрирует интересные техники размещения, использованные Intel для «сжатия» двух ячеек с целью минимизации необходимого им пространства.
Читать дальше →
Total votes 69: ↑68 and ↓1+96
Comments6

О чем нам намекают естественные системы физических единиц

Level of difficultyMedium
Reading time6 min
Views50K

Мы привыкли к различным единицам измерения, всяким метрам в секунду и киловатт-часам. В формулы пролезают многочисленные константы - c (скорость света), h (постоянная Планка), G (гравитационная постоянная), k (постоянная Больцмана). Однако оказывается, что для фундаментальной физики куда удобнее принять одну из 'естественных' единиц. Таких систем несколько - но лучше по англ.

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

Наоборот, некоторые системы (Система Си) только запутывают (см. главу "Критика"): Вследствие этого в системе единиц СИ электрическое поле и электрическая индукциямагнитное поле и магнитная индукция (в сущности — различные компоненты тензора электромагнитного поля) имеют разную размерность. Такую ситуацию Д. В. Сивухин характеризует так:

Читать далее
Total votes 96: ↑91 and ↓5+114
Comments242

«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib

Reading time9 min
Views15K

Сперва я рассказывал простые вещи о Telegram Bot API и делал интересных ботов — виртуальную подругу и друга для заказа шавермы. Затем коснулся тестовых серверов и юзерботов. И наконец, пришла пора заглянуть глубже — узнать, как сделать свой клиент для Telegram. Что такое TL-схема и TDLib? Об этом мы сегодня и узнаем.

Данная статья не только поможет тем, кто решил написать свой клиент для Telegram, но и немного расширит кругозор остальным: MTProto — это не приевшийся JSON API. Добро пожаловать под кат!

Готовы показать свои знания в IT? Примите участие в IT-кроссворде Selectel, выиграйте 10 000 рублей на аренду серверов и эксклюзивный мерч Selectel.

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

Information

Rating
6,165-th
Location
Россия
Registered
Activity