Как стать автором
Обновить
382
0.1
Дмитрий Котеров @DmitryKoterov

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

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

Сегодня, кстати, было с мотоциклистами. Слева от меня ехали двое между рядами. Так вот, она их ПРОПУСКАЕТ. Было так: еду я по второй полосе, никого не трогаю, вдруг машина начинает с середины чуть в правый край ряда сдвигаться без включения поворотников. Я думаю, чего это она вдруг (обычно едет в точности по центру, и поворотники включает сильно загодя, если надумает повернуть), и почему без поворотников, неужели баг? И тут заметил, что сзади слева приближаются мотоциклисты. Т.е. она их увидела до меня даже. Не баг, а фича.

Можно долго теоретизировать и рассуждать о том, как все плохо или как все хорошо.

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

  1. Она правда едет. От точки до точки, без вмешательства. Еще год назад не ехала, а теперь едет. Конечно, нужно все равно послеживать за дорогой, но мозг разгружается по ощущением в несколько раз точно.

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

  3. Автопилот Теслы - это не автономное такси. У него и нет такой задачи. Он не должен выпутываться из сложных ситуаций и позволять полного отвлечения человека от вождения, как например это делает Waymo (автономные такси от Гугла - они, кстати, просто космос как ездят тут, лучше чем водила с 30-летним стажем). Он только на 90% разгружает мозг и дает уверенность, что вовремя оттормозит, если что случится (т.е. можно в машине смотреть кино на телефоне, прикрепленном чуть справа от руля, и не бояться пропустить что-то важное на дороге).

  4. Вмешиваться в управление удобно, они хорошо проработали интерфейс. И по личным ощущениями, вмешиваться приходится ну никак не каждый 21 километр, да и когда приходится, то это не по причине опасности, а из-за желания «срезать углы», т.е. скорее чтобы наоборот сделать опасный маневр. Возможно, у них просто хорошие карты в Долине (конечно же они используют данные с карт, не только камеры), и в сельской местности все было бы хуже, тут я ХЗ.

Кто-нить понял, что это вообще такое? Что там на вход и что там на выход хотя бы?

Аффтар, вы б перед тем, как пончик приводить в пример в начале статьи, почитали бы его этикетку или погуглили бы его БЖУ, а потом сделали математику и перевели в калорийность (подсказка: Б и У умножаем на 4, Ж умножаем на 9). Это занимает 1 минуту. Сильно бы удивились, что в пончике (как и в большинстве других «обычных» и даже некоторых «полезных» продуктов) на самом деле дает основной вклад в калорийность.

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

А то вы нам все про интервальное голодание да про зону 2. Еще бы про гликемический индекс написали. Ей богу, 2024-й же год на дворе.

Думаю, это будет ядро Windows в конечном итоге (или что-то около того места). На Расте, да. Но это мое персональное мнение диванного аналитика, основанное на наблюдениях, куда дует ветер.

Насчет Linux - Линус сказал (с плохо скрываемым ужасом в голосе), что на Расте сам не пишет и не планирует. Что фигово. (Но хорошо хоть, что ревьюит коммиты на Расте, и что Интернетом пользуется, а не как некоторые, которым «доклады в папках приносят».)

Я просто оставлю это здесь.

„Новая научная истина торжествует не потому, что ее противники признают свою неправоту, просто ее оппоненты со временем вымирают, а подрастающее поколение знакомо с нею с самого начала.“

—  Макс Планк [про ЯВУ для ЭВМ Rust, 1920]

Это очень крутые цифры. Можно ТТХ вашей конфигурации и чуть больше деталей? Скорость дорожки например, насколько удобно печатать, смотреть в монитор и т.д.

тригонометрические функции на разных архитектурах процессора, операционных системах и языках программирования могут давать разный ответ

А вот это полный беспредел. Для того и придумывали стандарт IEEE на числа с плавающей точкой (single, double), чтобы результат на разных архитектурах совпадал побитово. Как это может быть, что он различается для синуса?

Нет, BF - это почти что классическая машина Тьюринга. Только со скобочками.

Есть еще один workflow, называется “stacked PRs”:

  • постулируется, что 1 коммит = 1 PR (т.е. веток как таковых нет, есть просто стек коммитов поверх мастера, и можно редактировать незамердженные еще коммиты-PRы прямо в середине)

  • код вмердживается в мастер как можно скорее, мелкими порциями

  • незавершенные (при этом проходящие CI) вещи тоже вмердживаются, но покрываются if-ом с feature-флагом (т.е. они невидимы пользователю)

Эту схему используют некоторые компании в FAANG, она на мой взгляд крайне экономит время, особенно когда кода пишется много, и разработчиков тоже много. Я полгода назад написал утилиту, которой мы пользуемся в компании, она поддерживает бесшовную интеграцию stacked PRs с GitHub (но пока не анонсировал): https://github.com/dimikot/git-grok

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

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

Видео по перекликающейся теме на очень базовом уровне (от Andrej Karpathy), Intro to LLM: https://youtu.be/zjkBMFhNj_g

Товарищ переводчик, исправьте какашку в цитате, пожалуйста. Оригинал:

“We have to make changes. We always said that we didn’t want AGI to be controlled by a small set of people, we want it to be democratized. And we clearly got that wrong. So I think if we don't improve our governance structure, if we don’t improve the way we interact with the world, people shouldn’t [trust OpenAI]. But we’re very motivated to improve that.”

Процессор же называется 80386, а не 386. Всегда, кстати, было любопытно, что эти «80» в начале обозначают, и почему их в каждом новом процессоре оставляли.

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

Наверное, это потому, что async - в основном про IO, а IO с самого начала в код попадает, и не бывает так (ну почти), чтобы функция была не-IO и вдруг стала IO.

Не получается. O(1) означает, что существует такое константное k, что алгоритм заканчивается за k шагов для всех размеров входа. Целых чисел фиксированное количество (2^32 штук например), а значит, такое k существует.

Если кажется ну совсем сюром, тогда вот другой (на этот раз вполне себе практический, даже по памяти приемлемый): алгоритм сортировки «за O(n)», если диапазон чисел не очень велик и все числа в массиве уникальны (на самом-то деле он тоже O(1), ну да назовем это «похожим на O(n)»). Например, если у нас есть не более 1000 уникальных элементов в диапазоне 0..999, можно их отсортировать за ~2000 шагов: берем зануленную битовую карту на 1000 битов (это всего-то 125 байтов), дальше идем по входному массиву и взводим в 1 бит, соответствующий очередному числу. В конце проходим по битовой карте и выплевываем в качестве результата позиции тех битов, где 1 (тут огромный простор для оптимизаций: можно проскакивать те 8-байтовые группы, где все нули например). Похожий алгоритм широко используется в СУБД.

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

Или так:

try (
  logger.timer(...),
  mutex m{123},
) {
  ...
}

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

1
23 ...

Информация

В рейтинге
3 103-й
Откуда
Россия
Зарегистрирован
Активность