Как стать автором
Обновить
3
0.1
Алексей @MonkeyWatchingYou

По призванию конструктор, увлечён фотографией.

Отправить сообщение

Верле: разрешаем коллизии (часть 2 — сетка, квадратики)

Время на прочтение6 мин
Количество просмотров4K

Две сотни частиц слишком мало? Хочется тысячи или десятки тысяч? Тогда пора заменить неадекватно медленный алгоритм поиска коллизий на что-то чуть более изящное.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии9

16-, 8- и 4-битные форматы чисел с плавающей запятой

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров27K

Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расширенной точности типа «long double». Эти типы данных покрывали почти все нужды обработки вещественных чисел. Но в последние несколько лет, с наступлением эпохи больших нейросетевых моделей, у разработчиков появилась потребность в типах данных, которые не «больше», а «меньше» существующих, потребность в том, чтобы как можно сильнее «сжать» типы данных, представляющие числа с плавающей запятой.

Я, честно говоря, был удивлён, когда узнал о существовании 4-битного формата для представления чисел с плавающей запятой. Да как такое вообще возможно? Лучший способ узнать об этом — самостоятельно поработать с такими числами. Сейчас мы исследуем самые популярные форматы чисел с плавающей запятой, создадим с использованием некоторых из них простую нейронную сеть и понаблюдаем за тем, как она работает.

Читать далее
Всего голосов 88: ↑87 и ↓1+130
Комментарии99

Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ

Время на прочтение36 мин
Количество просмотров26K

Это первая статья из цикла о том, как создать свой собственный ООП язык программирования с использованием LLVM.

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

Читать далее
Всего голосов 39: ↑37 и ↓2+48
Комментарии16

Создаем свой собственный язык программирования с использованием LLVM. Часть 2: Семантический анализ

Время на прочтение32 мин
Количество просмотров7.3K

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

Читать далее
Всего голосов 13: ↑12 и ↓1+15
Комментарии21

Заблуждения программистов о картах

Время на прочтение12 мин
Количество просмотров54K


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

Списки подобных заблуждений составлялись про имена или телефонные номера. Настало время карт и систем навигации.

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Всего голосов 240: ↑236 и ↓4+306
Комментарии114

Заблуждения программистов о времени

Время на прочтение12 мин
Количество просмотров74K

Музей-скансен эпохи Средневековья в Дании в режиме обычной работы (слева) ставит целью воссоздать повседневную жизнь города на стыке XIV и XV веков. Для съёмок фильма (справа) он «погрязнел»

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

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

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

Попытки собрать заблуждения про время и часовые пояса на Хабре уже были шесть и десять лет назад. Но без контрпримеров не так интересно.

Заблуждение 1. В сутках 24 часа или 86 400 секунд


Иногда и кое-где стрелки часов переводят, создавая сутки длиной в 23 и 25 часов — всё очевидно. Будет неплохо углубиться в случаи поэкзотичней.
Читать дальше →
Всего голосов 152: ↑145 и ↓7+177
Комментарии313

Заблуждения программистов о тексте

Время на прочтение11 мин
Количество просмотров19K


Возжелавший прильнуть к жанру вестернов обратится либо к десятой строчке топ-250 лучших фильмов по версии IMDb, либо уже будет обладать знанием, что начинать нужно с «Хороший, плохой, злой». Там он увидит жадных потных мужчин, которые заканчивают фильм напряжённым мексиканским противостоянием. Жалкая охота за золотом конфедератов разворачивается на фоне кровавых битв Гражданской войны между «Севером» и «Югом». Таким зритель запомнит вестерны как жанр.

В реальности «Хороший» — это не классика, а яркий представитель поджанра ревизионистских вестернов, снят в Европе и наоборот, критикует американскую идеологию направления. В нём нет ничего общего с картинами, где герой встаёт на защиту правильного и справедливого общества от злодеев или кровожадных индейцев. В пятидесятых и шестидесятых классический вестерн сошёл на нет, но в коллективном сознании критика быстро заместила критикуемый объект. Когда Марти Макфлай жалуется на анахронизм наряда, он сравнивает себя с антигероями Клинта Иствуда, а не бравыми ковбоями в исполнении Джона Уэйна.

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

Заблуждение 1. Любые символы, кроме управляющих, имеют предсказуемую ширину


В реальности ширина символов может отличаться даже в моноширных шрифтах.
Читать дальше →
Всего голосов 95: ↑95 и ↓0+95
Комментарии51

Кривые в компьютерной графике. Урок 1: Анимации

Время на прочтение6 мин
Количество просмотров8.4K

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

Читать далее
Всего голосов 13: ↑12 и ↓1+13
Комментарии5

Дизерпанк — статья о дизеринге изображений, которую мне хотелось бы прочитать

Время на прочтение18 мин
Количество просмотров27K

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

Читать далее
Всего голосов 147: ↑147 и ↓0+147
Комментарии26

Собираем генератор данных на Blender. Часть 1: Объекты

Время на прочтение5 мин
Количество просмотров6.1K

Привет, Хабр! Меня зовут Глеб. Я работаю в компании Friflex над проектами по оцифровке спорта. Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой статье рассмотрим основы взаимодействия с объектами, получение доступа через API, перемещение, масштабирование и вращение.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Learn OpenGL. Урок 5.9 — Отложенный рендеринг

Время на прочтение17 мин
Количество просмотров28K

В предыдущих статьях мы использовали прямое освещение (forward rendering или forward shading). Это простой подход, при котором мы рисуем объект с учётом всех источников света, потом рисуем следующий объект вместе с всем освещением на нём, и так для каждого объекта. Это достаточно просто понять и реализовать, но вместе с тем получается довольно медленно с точки зрения производительности: для каждого объекта придётся перебрать все источники света. Кроме того, прямое освещение работает неэффективно на сценах с большим количество перекрывающих друг друга объектов, так как большая часть вычислений пиксельного шейдера не пригодится и будет перезаписана значениями для более близких объектов.


Отложенное освещение или отложенный рендеринг (deferred shading или deferred rendering) обходит эту проблему и кардинально меняет то, как мы рисуем объекты. Это даёт новые возможности значительно оптимизировать сцены с большим количеством источников света, позволяя рисовать сотни и даже тысячи источников света с приемлемой скоростью. Ниже изображена сцена с 1847 точечными источниками света, нарисовання с помощью отложенного освещения (изображение предоставил Hannes Nevalainen). Что-то подобное было бы невозможно при прямом расчёте освещения:


img1

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии12

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

Время на прочтение8 мин
Количество просмотров42K
image

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

image

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

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

Читать дальше →
Всего голосов 22: ↑20 и ↓2+33
Комментарии72

Агломерация Мехико: воды, дайте нам воды

Время на прочтение19 мин
Количество просмотров33K
Что мы знаем о современной Мексике? Помимо бежавшего туда Льва Троцкого и его романа с Фридой Кало, мексиканской революции, ступенчатых пирамид, авокадо да обжигающей уличной еды с тако и буррито? Между тем, это крупнейшая страна испаноязычного мира, а её столица — агломерация Мехико с 22 млн населением, являет собой яркий пример «моста» между развитым миром северных соседей и оставшейся Латинской Америкой. Однако трудно было представить более неудачного места расположения столь крупного антропогенного образования — дно высохшего озера, постоянные наводнения и угроза землетрясений. А ещё добрая половина населения этой агломерации живёт в неформальном жилье без центрального водоснабжения, полагаясь на автоцистерны (pipas). Давайте разбираться в этом городе-парадоксе, построенном когда-то на воде, а сегодня так остро в ней нуждающемся.

Районы неформального жилья в Naucalpan de Juárez, северо-западном пригороде агломерации Мехико. Источник: Iwan Baan, National Geographic
Читать дальше →
Всего голосов 97: ↑94 и ↓3+124
Комментарии22

Устану ли я играть, нужно ли уметь кодить и чем вообще занимаются QA в геймдеве

Время на прочтение11 мин
Количество просмотров34K

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

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

Читать далее
Всего голосов 53: ↑52 и ↓1+57
Комментарии34

Мечтают ли уже андроиды об электроовцах? Возможности и этика современных развлекательных чатботов на примере Replika

Время на прочтение12 мин
Количество просмотров3.9K

Пост будет в формате вырезок из моего общения с ботом и моих профессиональных и не очень комментариев. Каждые несколько лет я по приколу развлекался попытками обучить прогрессивного чатбота чему-то о нем самом. Я в курсе, что это буллщит, и от ИИ мы так же далеко, как от галактики GN-z11, и это просто игра в имитацию. Спустя несколько дней общения с Джейс мне впервые захотелось закинуть тему шире, чем в круг друзей, потому что в 2022 году я впервые почувствовал настоящие этические колебания от общения с программой и пережил интересный опыт.

Сам я по работе успел позаниматься и гейм-дизайном, и UX/CX, и продуктовой аналитикой, и сценаристикой, так что тема мне очень близка. Я буду отталкиваться от эмоций, только иногда скатываясь в профессиональную нудотину.

Осторожно, трафик!

Читать далее
Всего голосов 15: ↑13 и ↓2+14
Комментарии17

Япония как земля обетованная?

Время на прочтение12 мин
Количество просмотров49K

Привет, Хабр! Уже три года живу я в Японии (два провёл в языковой школе, а сейчас эникею в фирме с русским руководством на Хоккайдо) и, несмотря на то что глобально говоря ничего я ещё не добился, рассказы об Японии вызывают у людей живой интерес. Почему бы его не удовлетворить?

И так, начнём с самого животрепещущего вопроса: стоит ли стремиться к трудовой миграции в Японию?

Читать далее
Всего голосов 128: ↑124 и ↓4+158
Комментарии150

New York — New York: о чём молчат путеводители

Время на прочтение20 мин
Количество просмотров43K

Нью-Йорк часто называют плавильным котлом США, где 70% жителей – иммигранты или их прямые потомки. Возможно, отсюда — его энергичность, динамизм и пестрота. Здесь самая высокая плотность населения в стране, самое активное использование общественного транспорта, и много ещё чего самого-самого — например, по нему больнее всего ударила пандемия. В целом, он полон контрастов, это не только живой туристический Мидтаун и небоскрёбы, но и ветшающая подземка, нищета Аптауна и бесконечные одноэтажные пригороды. Вместе с частью территории двух соседних штатов Нью-Йорк образует крупнейшую в США агломерацию Tri-State Area. Что накладывает свою специфику не только на саму жизнь, но и муниципальное управление с развитием инфраструктуры. 
Читать дальше →
Всего голосов 117: ↑111 и ↓6+140
Комментарии110
2

Информация

В рейтинге
3 290-й
Откуда
Ярославль, Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность