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

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

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

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

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

Про шифрование тоже хорошо. И была б это рекомендация или пожелание, одно дело, а то ведь маст хэв. Хардкорного эмбедда на 8битных контроллерах вам в хату.

Хочется расплакаться и обнять. Мой опыт подобных собеседований не настолько позитивный. Да, вращение деревьев на доске — ненужный садизм. Да проверять умение мыслить — здравый подход. Но результатом труда разработчика является код, который суть — решение поставленной задачи. Можно сколько угодно разговаривать о способах решения задач и умении обучаться, но talk is cheap, show me the code! Очень часто продемонстрированный код (решения предыдущих задач или поставленных на собеседовании) несет больше информации чем часовые собеседования с кандидатом.

Не хотелось бы чтобы мой посыл расценивался как реверсивный карго-культ (типа: пробовали как у них и оно не работает, значит и у них не работает), но я искренне удивлён такой успешности найма работников. Может быть это просто везение? Жду ещё статистики о работе такого подхода. )

fōt — fēt (foot-feet) — фут-футы, ступня-стопы

А почему не "ступня-ступни" и "стопа-стопы"?

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

У меня есть подозрение что эта концепция существовала до ieee754 в виде представления отрицательных чисел дополнением до единицы (one's complement). В таком представлении естественным образом возникает отрицательный ноль (контрольные суммы ip/tcp/udp считаются именно в такой арифметике, причем положительный ноль говорит о том что сумма не вычислялась, а отрицательный что она равна нулю).
А если оно не дискретно, то любое движение, согласно апории Зенона о летящей стреле, — невозможно =).
Стандартная модель предсказывает значение аномального магнитного момента (АММ) равного 1,16591 × 10−8, а результат эксперимента демонстрирует значение 1,16592 × 10−8 — разница, кажется, небольшая (всего 0,0002%), но предсказание должно полностью совпадать с результатом.

Странное дело, в исходной статье (и Википедия это подтверждает) приведены значения: 0.00116591810 (±0.00000000043) и 0.00116592061 (±0.00000000041), для предсказания и для результатов эксперимента соответственно. Откуда в переводе взялся порядок 10−8 — загадка. Порядок 10−3 было бы логично, если бы не простая прикидка (порядки чисел опущены, поскольку одинаковы) (1,16592 − 1,16591) / 1,16591 × 100% = 0,00001 / 1,16591 × 100% ≈ 0.0008577%, а никак не 0.0002%.
А если взять значения из оригинала: (1,16592061 − 1,16591810) / 1,16591810 × 100% ≈ 0.0002153%.
Итак. Нам хотели рассказать про применение PRBS (pseudo random binary sequence) при тестировании канала передачи. Было бы интересно (наверное, тем кто не встречался), узнать про применимость PRBS, из каких соображений выбираются полиномы и их длины для LFSR. Почему они называются примитивными полиномами и как получить наибольшую длину последовательности. Что CRC это как раз способ формирования контрольной суммы (и кстати тоже сильно связан с именем Галуа) и проверять «циклический избыточный код» неверно терминологически, верней проверять «контрольную сумму» или, более обобщенно, «проверочное слово», которое может быть сформировано хоть по CRC, хоть по SHA или любому другому алгоритму.

А вместо этого нам рассказали «смищную» историю, про человека который посчитал псевдослучайный поток шумоподобным.

Зачем то софизм про черепаху и Ахиллеса. Поля Галуа кажеца не связаны ни с пределами ни с вопросом дискретно пространство или континуально. Роль отдельных личностей в науке в начале 20 и далее века сильно преувеличена: множество открытий делалось одновременно и независимо в разных частях шарика, просто дозрел аппарат, а кто конкретно это формализовал, не сильно важно — не он, так кто-нибудь еще.

Извините, пригорело: очередная невыносимая порция «прекрасной чуши» этого автора.
Вероятностный метод смотрит на Цермелло-Френкеля в недоумении.
Вероятностный метод предполагает оценку выбранного элемента. Аксиома выбора она про то, что выбор вообще возможен («берём случайное вещественное число» — утверждение о возможности выбора из бесконечного множества). А любые утверждения с использованием аксиомы выбора, как бы, ничего конструктивного не производят.
… берём случайное вещественное число и проверяем есть ли оно уже в нашем ряду
Вот здесь Цермелло-Френкель с аксиомой выбора рассмеялись.
Именно поэтому не бывает, например, пятеричной логики.
Например, бывает. Бывают многозначные логики. И даже бесконечнозначные. И успешно используются.
Но, к сожалению, математика как свернула не туда, так там до сих пор и буксует.
Ну так эт, ждём ebuild прорывов.
Во-первых, в UFS последовательный интерфейс. А это значит, что можно одновременно и записывать и считывать. eMMC мог делать только что-то одно. Поэтому UFS работает быстрее!
Чтобы одновременно записывать и считывать нужен не последовательный, а дуплексный интерфейс (в UFS он такой и есть — последовательный дуплексный, в eMMC — параллельный полудуплексный). Но быстрее он не только (и не столько) по этой причине — сам интерфейс гораздо быстрей пересовывает данные.
Да, действительно, интерконнекты разделяют каналы для каждого master. То есть, если два master на шине не конкурируют за доступ к одному slave то работать они будут независимо (без взаимных блокировок). Это сделано сознательно и такая реализация интерконнекта не сильно увеличивает потребление ресурсов, а плюсы очевидны.
Для конкурирующих master применяется round-robin (даже можно покрутить приоритеты). Есть ещё сигнал lock, позволяющий захватить шину в эксклюзивное пользование на неопределённое время (но лучше не надо).
Удивительно, что такая примитивная технология смогла довести ракету до Луны.

Удивительно то, что сейчас у каждого в кармане вычислительной мощности в десятки раз больше, чем использовалось для полёта на Луну, а мы до сих пор не бороздим бескрайние просторы космоса.
И тогда и сейчас, проблема одна: формула Циолковского. Пока не изобретут «мега-турбо-гиперпространственный» двигатель вычислительные мощности нам не помогут.
1. Даже банальный make может не только собирать программы из исходных текстов.

Дальше все просто:
А смеяться после слова лопата? Утилита make выдаёт такое сообщение для любого неизвестного target. Прикол в том, что раньше (не знаю как сейчас) в *BSD 'make love' выдавала 'not war'.
В целом, такие изыскания можно только приветствовать. Но вот мой опыт пользования разных эргономических и не очень клавиатур привёл меня только к одному выводу: мне нужны короткоходные кнопки с тактильным щелчком (желательно беззвучные). Расположение кнопок не сильно роляет — быстро привыкаю и не испытываю особого комфорта или дискомфорта. А вот то, что не надо тратить много усилий для нажатия и есть чоткая обратная тактильная связь (акустическая не нужна — только мешает окружающим, а я часто слушаю музыку в наушниках) — это удобно.
Ну то есть пишем либу на Си и вызываем её функции из <язык по вкусу>. Тем самым демонстрируя прямоту рук.
Обычно у языка есть декларируемая сфера применения и практическая (историческая). Rust, если я правильно понимаю, предназначен для тех же целей, что и C++. Не вижу никаких причин быть медленней любого другого языка, кроме молодости. Опять же, компилируемый язык, позволящий использовать особенности целевой архитектуры (лучше неявно) будет претендовать на звание быстрейшего. Однако скорость это не главное, хотя и важное. Главное чтобы эта скорость была доступна искаропки средней руки программисту. Этак можно скомпилировать программу на C компилятором C++ (ониж совместимы) и заявить, что C++ рвёт Rust.
А в соревновании кто напишет код ближе к Си победителей не будет.
Этак если посмотреть на реализацую бенчмарков-победителей на разных языках, то можно увидеть, что там соревнуются в основном «кто лучше распараллелил да применил нужные интринсики SSE/AVX/...» (писать на фортране можно на любом языке). В pidigits все используют gmp для арифметики, в reverse-complement rust использует unsafe memchr из libc и т.д. и т.п. Всё это далеко от идиоматического C++ или Rust. Поэтому конкретно эти бенчмарки сравнивают непонятно что с непонятно чем.

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

В исходниках, кстати, есть идиоматические реализации алгоритмов без хитрых трюков, но так не победить =)

Не хотел вас оскорбить сравнением. Это на мой дилетантский взгляд.

Виктор Олегович, перелогиньтесь.) Понравилось. Я не великий знаток литературы, но призрак Пелевина в полный рост (сюр + российские спецслужбы).

Под «расстоянием» имеется ввиду отрезок наименьшей длины, один конец которого принадлежит фигуре А, а другой фигуре Б?
1
23 ...

Информация

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