Как стать автором
Обновить
0
0

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

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

Как прогнозировать время выполнения задач

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров38K

Привет! Меня зовут Павел Ахметчанов, я руководитель направления улучшения процессов разработки. В статье расскажу про часто используемые методики оценок задач и есть ли в них ошибки. Посмотрим, как правильно ставить вопросы при оценке. Узнаем, что собой представляет время решения задач, а это далеко не очевидная вещь. Попробуем изменить свое мышление и получим рецепт для определения времени решения задач. 

Если спросить любого начинающего исследователя этой темы «А зачем нам оценка?», он скажет, что постоянно задают вопрос «Когда вы выполните эту задачу?», на который и надо ответить с помощью этой оценки. А что, если сам вопрос задан неверно?

Читать далее
Всего голосов 63: ↑61 и ↓2+66
Комментарии57

Блокировка Trello и Jira? Ничего страшного, поднимаем свой сервер

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

Redmine и Plane — опенсорсные альтернативы Jira на своём хостинге

Компания Atlassian в рассылке для пользователей предупредила, что все аккаунты в России и Беларуси будут принудительно отключены. Клиентам дают 30 дней на перенос своих данных.

Из опыта прошлых блокировок других сервисов, самый надёжный вариант в таком случае — поднять собственный сервер с аналогичной системой (но опенсорсной и бесплатной), чтобы ни от кого не зависеть.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии16

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

Время на прочтение9 мин
Количество просмотров123K
В этой статье мы поговорим о «магической» константе 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

Приделываем руки к ChatGPT: бот, который исполняет код в рантайме

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

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

Как многие уже убедились, ChatGPT хорош, но есть некоторые типы задач, с которыми у него возникают трудности:

1. Он не может получать новые актуальные знания из сети.
2. Он не может выполнить какие‑либо действия.
3. У него сложности с алгоритмическими задачами (перевернуть строку, решить уравнение, произвести вычисления с применением численных методов).

И если задача 1 решается с помощью BingChat, то 2 и 3 мы сегодня будем решать в рамках данного туториала.

Основная идея такая: пусть ChatGPT сам решает, может ли он справиться с задачей «в уме» или же это лучше сделать с помощью написания кода на python, а наш сервер сразу же выполняет этот код и снова отдает результат работы ChatGPT, чтобы он мог его интерпретировать и или выдать пользователю окончательный ответ или исправить ошибку в своей программе и попытаться ещё раз.

Дальше много примеров и немного кода...
Всего голосов 47: ↑46 и ↓1+60
Комментарии30

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

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

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

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

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

Скорее к формулам!
Всего голосов 173: ↑173 и ↓0+173
Комментарии30

Всё меняется, когда твой софт повышает безопасность производства

Время на прочтение8 мин
Количество просмотров16K
К нам из цеха пришли инженеры и попросили сделать ИТ-систему.

Если вы знакомы со спецификой «суровых производственных мужчин», то знаете, что от них это звучит примерно так же, как «тыквенный смузи и веганский стейк, пожалуйста», — ещё два года назад мы о таком проявлении доверия к ИТ со стороны производства даже мечтать не могли. А тут оказалось, что им нужен инструмент, чтобы контролировать износ сегментов УНРС (установки непрерывной разливки стали), потому что это не только убирает рутину, напрямую влияет на качество продукта — слитков стали, но и снижает потенциальный риск прорыва сегмента с расплавом.

Итак, знакомьтесь, вот один из ручьёв УНРС:



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

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

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

Сейчас покажу результат.
Читать дальше →
Всего голосов 149: ↑149 и ↓0+149
Комментарии30

Сам себе сотовый оператор

Время на прочтение14 мин
Количество просмотров92K
… Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» — подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того же автора про то, как скрестить флешку с мышкой. «А вот это нам под силу» — подумал мальчик и убил уже знакомую вам флешку банальной переполюсовкой. Но зато он понял, что электроника — это весело и почти безопасно. — с просторов



Приветствую всех!

Многие из вас наверняка слышали про OsmocomBB. Однако каких-то исчерпывающих мануалов по запуску почему-то крайне мало. Итак, в ходе данной статьи постараемся максимально простым образом запустить собственную базовую станцию из доступных комплектующих. Постараемся разобраться, как сделать так, чтобы оно точно заработало.
Читать дальше →
Всего голосов 342: ↑342 и ↓0+342
Комментарии135

Пишем текстовую игру на Python/Ren'Py

Время на прочтение8 мин
Количество просмотров128K
Как сделать текстовую игру? Да как угодно. Как сделать кроссплатформенную текстовую игру на русском с иллюстрациями, звуком, работающими сохранениями, без проблем с кириллицей, и с каким-никаким геймплеем? Да ещё и в свободное время, не отрываясь от основной работы? Вот это уже интересней и на самом деле — довольно несложно. Заинтересовавшихся прошу под кат.

image
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии32

Существует ли объективная физическая реальность без стороннего наблюдателя?

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


Слышен ли звук падающего дерева в лесу, если рядом никого нет? Ответ на этот старый философский вопрос может оказаться не таким простым.

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

Однако существует набор предположений, касающихся реальности, с которыми уже соглашаются далеко не все. Главное из них – что существует объективная реальность, не зависящая от наличия наблюдателя или измерительного прибора. Два важнейших прорыва в области науки, произошедших в XX веке – а именно, теория относительности и квантовая механика – внезапно бросили вызов нашему представлению об объективной реальности. Они описывают реальность, которую невозможно отделить от акта наблюдения. Что же нам известно об объективной реальности на сегодняшний день?
Читать дальше →
Всего голосов 66: ↑59 и ↓7+70
Комментарии437

Как ИИ учится рисовать аниме

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

Аниме — мультипликация, которая интересна не только подросткам. Даже среди суровых бородатых айтишников в свитерах есть ценители этого направления. Создатели Waifu Labs – сайта для генерации аниме-портретов – поделились своей внутренней кухней и рассказали, как ИИ создаёт рисунки.

Читать далее
Всего голосов 29: ↑28 и ↓1+35
Комментарии15

StyleGAN3 — изображения в разном стиле одним кликом

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

В конце 2018 года в nVidia выпустили первую StyleGAN — и сегодня любители технологий с воодушевлением смотрят в будущее безграничных развлекательных медиа, генерируемых ИИ. Это будущее на практике показывает автор, материалом которого делимся к старту флагманского курса по Data Science.

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

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз

Время на прочтение77 мин
Количество просмотров12K
Скачать файл с кодом и данные можно в оригинале поста в моем блоге

Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самым мощным и полезным «добряком». Так же и с символьным ядром Wolfram — его чудовищную мощь нужно правильно использовать, а если это делать не так, оно может стать настоящим «злом», замедляющим все очень сильно. Начинающие разработчики не знают многих важнейших парадигм, идей и принципов языка Wolfram Language, пишут код, который на самом деле дико неэффективен и после этого разочаровываются, хотя тут нет вины Wolfram Language. Эту ситуацию призвана исправить эта статья.

Мне довелось работать с Wolfram Language начиная с (уже довольно далекого) 2005 года (тогда еще была версия Mathematica 5.2, сейчас уже 12-я). За эти почти 15 лет произошло очень много: добавились тысячи новых встроенных функций и областей, в которых они работают (машинное обучение, точная геометрия, работа с аудио, работа в вебе, облачные возможности, глубокая поддержка единиц измерения, интеграция с базами данных Wolfram|Alpha, географические вычисления, поддержка работы с CUDA, Python, распараллеливание операций и многое многое другое), появились новые сервисы — облако Wolfram Cloud, широко известная система вычислительных значeний Wolfram|Alpha, репозиторий функций, репозиторий нейросетей и пр.
Всего голосов 22: ↑21 и ↓1+20
Комментарии20

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность