Pull to refresh
0
0
Вячеслав Кузнецов @ya_ne_znau

User

Send message

Создан самый маленький в мире ускоритель частиц — размером меньше монеты

Reading time3 min
Views14K

Все мы знаем про БАК, Большой адронный коллайдер, расположенным рядом с Женевой в гигантском тоннеле на глубине сотни метров. Это одна из самых больших инженерных конструкций в мире, и её постройка обошлась Европе в $6 млрд (а могла быть и дороже, просто часть тоннелей существовала на этом месте и раньше).

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

Читать далее
Total votes 26: ↑21 and ↓5+26
Comments18

Разбор задач Школы программистов 2023

Reading time6 min
Views10K

Школа программистов hh.ru 2023 успешно стартовала, а значит пришло время традиционно показать вам задачки со вступительных испытаний. В этой статье мы разберемся, как устроен отборочный тур изнутри и разберем решения задач этого года. Мы так уже делали: последние материалы с разборами можно посмотреть здесь и здесь. Поехали!

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

Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си

Level of difficultyHard
Reading time17 min
Views15K

Программа calculator.c родилась как школьный проект в рамках Student Innovation Scholarship. Сперва я решил написать простой инструмент для построения графиков функций с помощью символов ASCII, но после завершения первого прототипа понял, что задача намного сложнее, чем предполагалось. Вернувшись к проекту год спустя, я увидел, что в нём есть много неочевидных нюансов. Поэтому предлагаю разобрать весь процесс разработки моего графического калькулятора с нуля.


Читать дальше →
Total votes 52: ↑51 and ↓1+75
Comments25

Квантовые компьютеры. С точки зрения традиционного программиста-математика. Часть 1

Reading time8 min
Views15K

Квантовые компьютеры. С точки зрения традиционного программиста-математика.
Часть 1. Основы. Квантовый регистр.

О чем эта публикация

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

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

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

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

Введение в трассировку лучей: простой метод создания 3D-изображений. Часть 1 — как создается изображение?

Reading time4 min
Views7.9K

Введение в трассировку лучей: простой метод создания 3D-изображений
Часть 1 - как создается изображение?

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

Отрендерить статью полностью
Total votes 10: ↑7 and ↓3+5
Comments9

Сказка про собес наоборот

Level of difficultyEasy
Reading time11 min
Views34K

Вы помните свое первое собеседование? Я свое помню отлично, преподаватель дольше обычного гонял мою плис в симуляторе Keil-C, придирался к любой мелочи, докапывался до каждой запятой в коде прошивки. А потом начал гонять по алгоритмам трассировки печатных плат, которые мы должны были проходить только в следующем семестре. Я уже мысленно готовился на допсу, видно же что валит, как и предыдущих двух одногруппников. Но в конце сдачи лабы по проектированию мк преподаватель спросил хочу ли я делать "железное железо для железной дороги?" (с). Студенту второго курса ИТМО, которого кормили родители, и подрабатывавшего разгрузкой вагонов ночами, это было сродни офферу в гугль. С тех пор я много раз побывал с обеих сторон стола, и в качестве испытуемого, и как придирчивый лид (отнюдь этим не горжусь, но и не стыжусь), и как группа поддержки у коллег из соседних отделов. Всегда хотелось надеяться, что наши собеседования - это не таинственные квесты, где каждая задача - это каст сложного заклятия, а ошибки не выкидывают с данжа.

Но сначала сказка о том, как к нам попал Миша: однажды в славном городе Панкт-Сетербург погромист-джедай по имени Михаил отправился на собеседование в компанию "Кодозавры". Он был уверен, что знает все, и даже изучил новейшие фреймворки "NoScript" и "Unreal С--". Как он думал, ничто не может его остановить. Когда Миша пришел на собеседование, его встретил HR-менеджер по имени Анна. Она с улыбкой спросила: "Расскажите, как вы бы пояснили своей бабушке, что такое мьютекс?". Ага, прям с порога наш доблестный HR накинул Мишке затравочный вопрос. Ну а чё, это ж сказка, герои на белых самокатах и все такое...

Налево пойдешь, мидла потеряешь...
Total votes 38: ↑29 and ↓9+25
Comments82

Трансформером по A*, или как уменьшить число итераций самого известного алгоритма поиска пути

Level of difficultyMedium
Reading time24 min
Views7.8K

Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Часто эта задача сводится к поиску пути на графе, для чего обычно используется алгоритм эвристического поиска A*. Этот алгоритм был предложен в 60-х годах XX века и с тех пор используется повсеместно. Скорее всего, юнит вашей любимой RTS бежит по карте с помощью той или иной вариации A*. Точно так же, под капотом беспилотного авто вы, наверняка, найдёте A*, хотя там, конечно, не только он.

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

Этот текст посвящен как самому алгоритму A*, так и попыткам повысить его эффективность с помощью методов искусственного интеллекта. Заодно я расскажу о том, какие новшества в этом направлении придумали мы с коллегами: научная статья на эту тему опубликована в сборнике конференции AAAI 2023.

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

Huawei будет использовать китайские чипы даже в том случае, если они морально устарели. Перспективы компании

Reading time5 min
Views18K
image

Мы уже писали о том, что китайская компания Huawei, несмотря на санкции со стороны США, успешно выпускает различные устройства. Более того, компания выпустила новый процессор с использованием 7-нм техпроцесса второго поколения. Произведен этот процессор компанией SMIC, которая, насколько можно судить, постепенно совершенствует технологические процессы и выпускает все более современные чипы. Тем не менее, компоненты, выпускаемые этой компанией, отстают от передовых чипов, выпускаемых TSMC и другими контрактными производителями. В Huawei считают, что это не страшно, главное — то, что уже есть возможность выпускать такие компоненты даже под санкциями. Подробности — под катом.
Читать дальше →
Total votes 49: ↑45 and ↓4+51
Comments21

Битва русов и ящеров за воду Байкала: как пародия на неоязычество покорила Рунет?

Level of difficultyEasy
Reading time10 min
Views43K

В конце 2023 года русскоязычные соцсети внезапно заполонили мемы про древних русов и ящеров. Виной всему стали видеолекции сгенерированного с помощью нейросетей «профессора Багирова», в которых байки конспирологов-неоязычников о «тайной истории Руси» доводились до восхитительного абсурда. Вскоре пранк вышел из-под контроля: как про Медведа в старые добрые времена, про мемы о ящерах и русах стали писать крупные федеральные порталы и модные журналы, а теперь энтузиасты ещё и анонсировали игру. Почему русы и ящеры так «зашли» именно сейчас, что именно и как они стебут, и чем оказались так интересны и симпатичны аудитории Рунета?
Читать дальше →
Total votes 86: ↑71 and ↓15+76
Comments48

HAL в 4000 байт

Level of difficultyEasy
Reading time9 min
Views23K

«HAL 4000» – исполняемая программа для Windows размером ровно 4000 байт. Лучшая работа в номинации 4 kb intro фестиваля Chaos Constructions 2017, второе место в чартах портала pouet.net. «HAL 4000» попала в плейлист Best of Demoscene 2017 наряду с работами Farbrausch, Fairlight, Conspiracy, Alcatraz, Byterapers, обсуждалась на вебинаре анимационной студии, демонстрировалась на различных фестивалях.

Необычная история создания этой работы изложена ниже.

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

Неочевидные возможности короля картографического ПО на гаджетах

Reading time10 min
Views45K

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

🔥 Примечание — эта статья автора расположилась на первом месте по рейтингу/просмотрам в хабе OSM за 2023г.

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

Симулятор мечты

Level of difficultyMedium
Reading time15 min
Views8.1K


Нашла у Сергея Абдульманова (Milfgard) пост 4 крутые штуки про разработку игр. В посте ссылки на 4 перевода из блога геймдизайнера Тайнана Сильвестра, создателя игры «RimWorld». Но ссылки мертвые. С разрешения автора публикую переводы из архива Мосигры ([часть 1 про симуляторы], [часть 2 про скорость разработки], [часть 3 про приоритеты в разработке], [ часть 4 — про реиграбельность]).

TLTR:

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

Рассказывают на примерах из BioShock, Ultima Online, SimCity, Dwarf Fortress и других игр, так что рекомендую.

Я веду ламповый Telegram-канал GameDevils. Заглядывайте в гости, я делюсь там материалами про геймдизайн, разработку и историю игр ^__^
Читать дальше →
Total votes 7: ↑4 and ↓3+2
Comments3

Квантовый компьютер: его превосходство, несходство и недосходство в сравнении с классическим

Level of difficultyMedium
Reading time16 min
Views28K

В представлении гуманитария квантовая физика – чисто теоретическая наука, изучающая устройство мира на самом фундаментальном уровне и бесконечно далёкая от нашей жизни. Лишь немногие знают, что мы уже пользуемся квантовыми технологиями каждый день. Без квантовой физики не было бы современной электроники (компьютеров, смартфонов, планшетов, бытовой техники), высокоскоростного интернета и спутниковой навигации. Но кремниевые полупроводники, интегральные схемы, компакт-диски, флеш-память, оптоволоконные кабели, светодиоды, солнечные панели, МРТ, электронные микроскопы, лазеры, атомные часы, ядерное и термоядерное оружие, атомные электростанции, даже не освоенный ещё термоядерный синтез – всё это продукты первой квантовой революции, теоретические основы которой были заложены ещё в 20-е-30-е гг. XX века. Теперь же пришло время второй квантовой революции, вызванной появлением технологий, позволяющих манипулировать отдельными квантовыми частицами и управлять их состоянием. Локомотивом этой революции станет квантовый компьютер, о котором и пойдёт речь в данной статье.

Читать далее
Total votes 14: ↑11 and ↓3+11
Comments18

Теория типов

Level of difficultyMedium
Reading time43 min
Views31K

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

Что можно узнать из этой статьи?
Total votes 75: ↑75 and ↓0+75
Comments70

Использование Vim в качестве C/C++ IDE

Reading time4 min
Views115K
Привет, Хабрахабр. Меня зовут Алексей и я занимаюсь тем, что разрабатываю встраиваемые операционные системы.

Сегодня я хочу рассказать, как я использую Vim в качестве IDE для C/C++ проектов.

Несмотря на то, что я использую Vim для C/C++, многие из рекоммендаций довольно общие и могут использоваться в любом проекте.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments16

Как я написал JVM на Rust

Reading time9 min
Views7.7K

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

Хочу подчеркнуть, что это лишь простенькая модель JVM, созданная в учебных целях, а не серьезная реализация. В частности, она не поддерживает:

Читать далее
Total votes 27: ↑23 and ↓4+21
Comments0

Как правильно дифференцировать дискретные функции (Часть 1. Тестируем и улучшаем Numpy)

Level of difficultyEasy
Reading time6 min
Views4.7K

После того как я реально «подсел» на чтение Хабра, захотелось «освежить» что‑то из своего богатого математического прошлого. Воскресить, так сказать, старые наработки, зайдя, естественно, через дверь с табличкой Python. Предлагаемая публикация посвящена простейшим методам численного дифференцирования дискретных функций (они же решетчатые функции, они же табличные функции, они же функции, заданные набором данных и т. п.). Очень странно, что в библиотеках Python с такой простой темой не все так просто и безоблачно, есть кое‑какие вопросы и проблемы. SciPy, как оказалось, вообще не об этом, а в NumPy «тема не раскрыта». На простейших примерах рассмотрим то, что предлагает NumPy, что там не так и как можно сделать лучше.

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

Жорданова нормальная форма

Level of difficultyHard
Reading time8 min
Views21K

Изучая линейную алгебру, все так или иначе сталкиваются с Жордановой нормальной формой(ЖНФ).

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

В этой статье я попытаюсь объяснить ЖНФ так, как мне кажется, наиболее понятным. Это доказательство является сборной солянкой из различных доказательств, но, по моему мнению, оно дает ответы на многие вопросы. После прочтения статьи(я надеюсь), помимо доказательства, вы узнаете ответы на несколько вопросов:

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

Архетипы программных архитекторов. Часть 1

Level of difficultyEasy
Reading time13 min
Views10K

Что такое архетип? Это — образец набора вариантов поведения или поведенческих сценариев, типичных для определённой роли. Уилл Ларсон, который сейчас занимает должность главного технического директора в Carta, определил четыре архетипа для должности «ведущий инженер‑программист» (Staff Engineer). Это — «техлид» (Tech Lead), «архитектор» (Architect), «решатель задач» (Solver) и «незаменимый помощник» (Right Hand).

Я работаю над новой книгой, которую планируется опубликовать этой осенью. Она называется «The Software Engineerʼs Guidebook». Когда я писал в ней об архитектуре ПО, меня зацепила идея существования «архетипов» программных архитекторов, которые могут сочетаться друг с другом либо хорошо, либо плохо. Речь идёт о людях, работающих бок о бок друг с другом, вклад каждого из которых в общее дело отличается чем-то особенным. Разбираться с тем, какие архетипы лучше всего описывают коллег — это интересное занятие, которое может привести к ценным открытиям. И вполне возможно, что вы, задумываясь об этом, поймёте, какой из архетипов лучше всего описывает вас самих.

Читать далее
Total votes 13: ↑11 and ↓2+16
Comments8

Заметки об основах программной архитектуры

Reading time9 min
Views20K
Это вводное руководство для архитекторов программного обеспечения. В настоящее время звание «архитектор» очень популярно во всем мире, но не существует настоящего руководства, как стать архитектором программного обеспечения.

1. Общая концепция архитектуры программного обеспечения
2. Архитектурные стили
3. Технология
4. Софт скиллз (принятие архитектурных решений, методы анализа рисков, навыки подачи материала, отношения с командой менеджеров, ведение переговоров, планирование карьеры архитектора)
5. Принципы проектирования
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments3

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity