Как стать автором
Обновить
9
0
Ренат Ахметшин @Habrah

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

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

Полезен ли сегодня быстрый обратный квадратный корень из Quake III?

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

В 2005 году id Software опубликовала под лицензией GPL-2 исходный код своей игры 1999 года Quake III Arena. В файле code/game/q_math.c есть функция для вычисления обратного квадратного корня числа, которая на первый взгляд выглядит очень любопытным алгоритмом:

float Q_rsqrt( float number )
{
    long i;
    float x2, y;
    const float threehalfs = 1.5F;

    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &y;                       // зловещий хакинг чисел с плавающей запятой на уровне битов
    i  = 0x5f3759df - ( i >> 1 );               // какого чёрта?
    y  = * ( float * ) &i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // первая итерация
//  y  = y * ( threehalfs - ( x2 * y * y ) );   // вторая итерация, можно удалить

    return y;
}

Об этом алгоритме написано множество статей, и ему посвящена хорошая страница Википедии, где он назван fast inverse square root (быстрым обратным квадратным корнем). На самом деле, этот алгоритм упоминался на различных форумах ещё до публикации исходного кода Q3. Ryszard из Beyond3D провёл в 2004-2005 годах исследование и в конечном итоге выяснил, что первоначальным автором алгоритма был Грег Уолш из Ardent Computer, который создал его десятью годами ранее.
Читать дальше →
Всего голосов 148: ↑146 и ↓2+191
Комментарии52

Обзор сервисов для бесплатного доступа к ChatGPT-4

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

ChatGPT-4 — модель от OpenAI, которая умеет генерировать тексты, отвечать на вопросы, решать задачи, писать код и даже анализировать изображения. Но, чтобы получить к ней доступ, нужно оформить подписку на сайте OpenAI за 20$ в месяц. Для жителей России задача усложняется необходимостью обхода ограничений. Нужно не только найти иностранную карту, чтобы оплатить подписку, но и воспользоваться VPN.

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

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

Как посчитать синус быстрее всех на хабре

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

Несмотря на свою кажущуюся банальность, темы о вычислении синуса достаточно регулярно появляются на хабре. И каждый раз их авторы или делают сомнительные утверждения, или получают сомнительные результаты. Не в силах более терпеть, я тоже решил поучаствовать и внести свой, не менее сомнительный вклад в этот вопрос.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+91
Комментарии41

Попиксельная заливка экрана в Wolfenstein 3D

Время на прочтение4 мин
Количество просмотров42K
В коде id Software порой встречаются бесподобные жемчужины. Самая знаменитая — это, конечно, 0x5f3759df, удостоившаяся даже комикса на xkcd. Здесь же речь пойдёт о заливке экрана: пиксели закрашиваются по одному в случайном порядке, без повторов. Как это сделано?

Читать дальше →
Всего голосов 152: ↑151 и ↓1+150
Комментарии96

«Магическая константа» 0x5f3759df

Время на прочтение9 мин
Количество просмотров124K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →
Всего голосов 212: ↑210 и ↓2+208
Комментарии188

Метод наименьших квадратов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров12K

Я прохожу онлайн курс по ML, а здесь я пишу статьи, в которых, как мне кажется, я нуждался неделю назад.

Узнать всё про МНК для ML на пальцах
Всего голосов 11: ↑6 и ↓5+3
Комментарии17

Программированию конец?

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

Данная статья является переводом видеоролика с канала Мэтта Вулфи, который в основном посвящен теме искусственного интеллекта.

В данном видео Мэтт Вулфи обсуждает вопрос, который волнует многих: сможет ли искусственный интеллект заменить программистов? Он рассматривает текущее состояние дел и будущие возможности ИИ в программировании.

Основные моменты видео:

Разногласия в части темы замены программистов Искусственным Интеллектом.

Автоматизация задач с помощью ИИ: написание и отладка кода.

Влияние ИИ на участие разработчиков в процессе.

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

А также много другое и капелька теории!

Читать далее
Всего голосов 91: ↑24 и ↓67-39
Комментарии544

Почему программистам нужны кабинеты с закрывающимися дверями?

Время на прочтение8 мин
Количество просмотров17K
Обычная ситуация: вы сидите за своим рабочим столом, погрузившись в размышления, и пытаетесь разрешить проблему, которая вот уже неделю не дает вам продвинуться в работе. В глубинах сознания вы выстраиваете структуру из мыслей и вероятностей, о которой ни один философ и не мечтал: выявляете концепты, прилаживаете их друг к другу, поворачиваете так и эдак, чтобы они состыковались. Что-то вроде арки, сложенной из камней: когда она будет закончена, то окажется достаточно прочной, чтобы пережить целые поколения – но пока не готова, может развалиться до основания, если слишком рано перестать удерживать части.



Триумфальная арка © Verity Cridland/flickr

Тут мимо проходит коллега и замечает, что вы просто сидите, возможно, со слегка приоткрытым ртом, не исключено, что голова у вас слегка склонена, глаз подергивается и общее выражение лица такое, будто вы проглотили муху (или это только у меня так?). В общем, очевидно, что вы ничем не заняты. Поэтому коллега трогает вас за плечо и говорит: «Эй, можно тебя на минутку? Я только хотел спросить…»

И вот, в эту самую секунду роскошная полуарка, которую вы с таким трудом удерживали, обрушивается к вашим ногам.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+31
Комментарии23

Что для меня значит быть программистом

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

Как-то мне написали с Хабра и сказали: Саня, хочешь написать статью про программистов?

Разумеется, я отнёсся к этому скептически. Ладно там девопсины или вайтхэты какие - почитать про них было бы интересно, но вот жизнь программиста... Я сразу вспомнил эти мемы как на КДПВ, которые на самом деле не мемы, а правда.

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

Чтобы получать 300кк/c, нужно всего лишь..
Всего голосов 158: ↑143 и ↓15+149
Комментарии71

17 убойных репозиториев GitHub, которые нужно сохранить

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

Здесь собраны лучшие и самые полезные репозитории Github, которые будут служить вам долгое время.

Читать далее
Всего голосов 153: ↑123 и ↓30+114
Комментарии44

Разбитое стекло & пиксел

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

Приехал ко мне брат. Отдохнуть, повидать родственников, посмотреть на родной город. А ему на машине заднее стекло разбили. Прямо во дворе нашего дома. Неприятно.

Читать далее
Всего голосов 21: ↑17 и ↓4+15
Комментарии24

Нефтянка для инженеров, программистов, математиков и широких масс трудящихся, часть 2

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

Сегодня мы расскажем о том, как буровые станки бороздят просторы Сибири, из чего состоит скважина; зачем, для того, чтобы добыть что-нибудь нужное, надо сначала закачать в пласт что-нибудь ненужное; и из чего, собственно, сделана нефтяная залежь. Это вторая часть из серии статей для будущих математиков-программистов, которым предстоит решать задачи, связанные с моделированием нефтедобычи и разработкой инженерного ПО в области сопровождения нефтедобычи.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+33
Комментарии12

Что делать, если в вашей команде появился «эффективный» менеджер?

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

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


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


Читать дальше →
Всего голосов 191: ↑188 и ↓3+242
Комментарии266

Пример программирования FPGA-ускорителя

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


Не так давно мы рассказали о новой услуге Selectel — облачных высокопроизводительных вычислениях на FPGA-ускорителях. В новой статье на эту тему рассмотрим пример программирования FPGA для построения множества Мандельброта, — известного математического алгоритма для визуализации фрактальных изображений. В статье использован материал с сайта Эйлер Проджект.


Всего голосов 29: ↑28 и ↓1+27
Комментарии23

Красный Хогвартс. Серия 7. Студенты

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

Банальней этой фотографии разве что семейные снимки. Студенческая компания друзей-однокурсников сфотографировалась на память – что может быть тривиальнее? У кого из учившихся в вузах и, особенно, живших в общежитии нет подобных фотографий с соседями по комнате? Студенты тоже вполне банальны и ничем особым не выделяются – технический вуз, будущие инженеры. Двое постарше, остальные практически одногодки в возрасте «едва за двадцать». Двадцать один, если быть точным. По нынешним временам – дети, практически. Поскольку вуз столичный, а контингент общажный, резонно предположить, что перед нами провинциалы, съехавшиеся в Белокаменную со всех концов страны. Так и есть – тут и льняная Кострома, и нефтяной Баку, и пожарно-каланчевский Витебск, и зарубежная тогда Чита, столица иностранного государства с названием «Дальневосточная республика», признанного, правда, только Советской Россией.

Выдают их разве что глаза – слишком уж тяжелый взгляд у этих двадцатилетних пацанов. Обычно так смотрят матерые мужики, жизнью обстоятельно битые и во многих щёлоках варенные. Разгадка — на календаре: 1922 год. По окраинам страны еще полыхают последние очаги Гражданской, еще идет война на родном для одного из них Дальнем Востоке, но по большому счету в России наконец-то затихает страшная семилетняя кровавая мясорубка, едва не опрокинувшая страну в небытие. Завершается «веселое время», как его назвал их ровесник – не по годам, а по судьбе – по имени Аркадий Голиков. Тот самый лихой красный командир, которому еще только предстоит стать создателем великой советской детской литературы Аркадием Гайдаром. Засыпает страшное чудовище Смуты, на проклятые времена бодрствования которого и пришлось взросление этих юношей, ровесников буйного и бурного XX века.

Едва отпраздновавшие свой двадцать первый день рождения, они видели в этой жизни всё.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии66

Как я осилил английский

Время на прочтение13 мин
Количество просмотров349K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →
Всего голосов 155: ↑151 и ↓4+147
Комментарии256

Стиль сына маминой подруги

Время на прочтение9 мин
Количество просмотров11K
Привет, Хабр! Мы продолжаем нашу экспериментальную серию статей, наблюдая за которой вы можете в реальном времени влиять на ход создания игры на UWP. В этой части расскажем о стиле приложения и покажем, что делать красиво не так уж и сложно. Не забывайте оставлять комментарии!

Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии14

Чуваки, я сейчас расскажу, как писать, если вы не умеете — и ещё в чём проблема копирайтеров

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


Привет! Это ёжик, и он теперь будет жить с нами. Конкретно, я буду вести тут время от времени рассказы о том, как писать тексты в корпоративном блоге человека-парохода Михаила, из-за которого 11 лет назад я и влез в эту тему.

Итак, проблема простая. Вы здорово объясняете на словах, но не можете написать ничего толком. Знаете, что? Вам повезло. Потому что если вы наймёте специального человека — копирайтера — который расскажет всё за вас, будет хуже.

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

Вы уже умеете писать. Просто ещё никогда этого не делали.
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии22

«Плотность времени» (с) Н.А.Козырев

Время на прочтение9 мин
Количество просмотров167K
Эпиграф:
— А чем вам не нравится Второй Закон Термодинамики?
— Ну, хотя бы тем, что Больцман повесился. И сын Циолковского тоже.
ответ приписывают Н.Козыреву

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

О последнем пункте и пойдет речь.
Читать дальше →
Всего голосов 142: ↑109 и ↓33+76
Комментарии148

Зачем исследовать космос? Письмо 1970 года монахине в Африку

Время на прочтение10 мин
Количество просмотров58K
Эрнс Шталингер написал это письмо 6 мая 1970 года сестре Мэри Джаканд, монахине, которая работала среди голодающих детей города Кабве в африканской стране Замбии, в ответ на вопрос о значении освоения космоса. В то время доктор Шталингер был заместителем директора по науке в Центре Космических Полетов Маршалла, в Хэнтсвилле, штата Алабама. Тронутый искренностью и обеспокоенностью Мэри, он направил ей все свои искренние убеждения о ценности исследований космоса. Красноречивое заявление доктора актуально до сих пор, даже спустя четыре десятилетия. Родившись в Германии в 1913 году, доктор Шталингер получил Ph.D. по физике в университете Tuebingen 1936 году. Он был членом немецкой ракетной группы, в Peenemunde и приехал в Соединенные Штаты в 1946 работать на американскую армию в Форт Блисс, штат Техас. Он переехал в Хэнтсвилль в 1950 и продолжил работать для армейского Redstone Arsenal до тех пор пока не был создан центр космических полетов в 1960. Доктор Шталингер был неоднократно награжден и широко известен за свои исследования силовых установок. Он получил награду от министра обороны (Exceptional Civilian Service Award) за участие в запуске Эксплорера-1, первого американского космического спутника.

Читать дальше →
Всего голосов 236: ↑228 и ↓8+220
Комментарии308
1

Информация

В рейтинге
Не участвует
Откуда
Бугульма, Татарстан, Россия
Зарегистрирован
Активность