• Что каждый программист на C должен знать об Undefined Behavior. Часть 3/3
    +1
    C# в данном случае справляется: он говорит, что инициализация переменной возможно не выполнится (т.к. она под if-ом с не константным условием и в else её тоже не производят) и требует проинициализировать переменную при всех возможных путях выполнения. Это заставит меня сделать одно из двух: либо сразу написать int i = 0, либо занести второй if под первый. В данном случае я скорее сделаю второе. Это никак не повлияет на производительность, но теперь этот код будет отражать логические отношения между кондишенами. И даже в том случае, если они изменятся код останется валидным и без UB.

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

    А рассуждения, что вот поэтому С++ может так хорошо оптимизировать инструкции, как-то сомнительно звучат. Было бы больше структурных проверок на этапе анализа — можно было бы больше предположений доказать на этапе компиляции, можно было бы выкинуть больше проверок…
  • Что каждый программист на C должен знать об Undefined Behavior. Часть 3/3
    0
    Почему в принципе есть возможность успешно скомпилировать программу обращающуюся к неинициализированной переменной на чтение хоть с какими-то настройками компилятора? Ну и тот же вопрос про весь класс подобных «простых» UB.
    Я понимаю, что это практически вопрос почему C++ не C#, но какая польза в том, чтобы C++ не был в этом аспекте Си-шарпом? Какой смысл начинать делать оптимизации, если в первую очередь здесь не известно какой должен быть результат?
  • Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса
    0
    Согласен. Но тут нужны облака и техника безопасности запрещает разбрасывать по лесу лазеры больше 5 мВт.
  • Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса
    +1
    Где-то читал, что в морской спасательный набор входит лазер, который светит линией, как в лазерном уровне. Если ты хочешь себя обнаружить, то надо линию вдоль горизонта направить. Это эффективнее, чем водить фонариком. Можно маяк оснастить таким лазером и написать инструкцию — выйди на открытое место и медленно сканируй лазерной полосой небо. На беспилотнике поставить камеру с фильтром на длинну волны этого лазера. Вероятно можно выбрать диапазон, наверное ИК, в котором прозрачны облака и туман. Тогда беспилотники можно поднять повыше и ждать пока моргнёт пиксель на камере с фильтром.
  • Системы радионавигации, используемые самолётами для безопасной посадки, небезопасны и подвержены взлому
    +3
    Вспомнилась история про хакера и солонку.
  • Древности: Philips Velo 1, ночной кошмар энтузиаста технологий
    0
    Если там вменяемый браузер с поддержкой хоть какого-нибудь javascripta, то всё — можно делать всё, что угодно (ну, кроме нативного UI и со спецификой браузеров тех лет). Уверен, что под CE существует Opera на Presto.
  • Древности: Philips Velo 1, ночной кошмар энтузиаста технологий
    +1
    Для С++ должно быть подойдёт Visual Studio соответствующего года с каким-нибудь Windows CE SDK. Ещё я помню, что на CE поддерживался даже .NET (Compact Framework).
  • Почему на собеседованиях так часто спрашивают про связные списки
    +4
    Я бы ещё здесь добавил к связным спискам алгоритмы сортировки. Много кто их спрашивает, но за 10+ лет опыта мне не понадобилось ни разу писать свою сортировку.
  • Об инженерном подходе замолвлю я слово
    +3
    Есть люди, которые смотрят, как другие играют в игры, а есть люди, которые читают как другие пробуют в DIY.
  • Как мы боремся с копированием контента, или первая adversarial attack в проде
    +6
    Мне кажется, что чтобы найти эмблему Avito нейросеть у конкурентов была лишняя (в отличие от исходной задачи найти номер). Достаточно картинку немного заблюрить и перевести в ЧБ, тогда все эти ухищрения с паттернами и границами снова пойдут лесом. Думаю конкуренты ответят чем-то подобным через месяц.
    В самом тяжёлом случае можно вообще натренировать сеть определять где у машины номер по очертаниям самой машины. Т.е. не искать прямоугольник похожий на номер на картинке, а делать примерно тоже самое, что делают камеры смартфонов, когда распознают лицо и динамически позиционируют на нём маску.
    Тоже считаю злом скрытие номера. Лучше бы с помощью нейросети как-нибудь красиво вписывали бы логотип Avito в пейзаж окружающий машину. Вот тогда бы его точно вырезать было сложно.
  • Микробиота. Какие бактерии живут в кишечниках россиян
    0
    К тому же если в микробиоте нет определенного рода, то поселить его рационом вряд ли получится.

    А как тогда они все появляются в организме, если от рождения у нас только бифидобактерии и лактобактерии?
  • Компания Nikola Motor представила два электрогрузовика и кое-что еще
    +4
    Собираюсь создать компанию по производству электромобилей. Выбираю название. Подскажите какое у Николы Теслы отчество?
  • Как превратить спутниковые снимки в карты. Компьютерное зрение в Яндексе
    0
    А когда дому присваивают кокой-то адрес, он в каких документах появляется? Может быть эти документы есть в публичном доступе? Тогда можно использовать другую нейросеть и распарсить какой-нибудь канцелярит. Потом соотнести его с существующими реалиями и выяснить о каком доме идёт речь.
  • Как мигрировать к другому мобильному оператору и не обанкротиться (для владельцев iOS)
    –1
    Оффтоп. Проголосовал, а потом, случайно, пригляделся к результатам голосования.


    Что это за 146%103%? Почему голосов 30, а проголосовало только 29?
  • Первый видеокодек на машинном обучении кардинально превзошёл все существующие кодеки, в том числе H.265 и VP9
    +3
    Похожее уже было в ксероксах.
  • Кого давить беспилотному автомобилю: результаты эксперимента Moral Machine
    +9
    Беспилотный автомобиль должен двигаться по своей полосе, как трамвай по рельсам. Ну собьёт десяток нарушителей ПДД. Все запомнят, что теперь автомобили никого не объезжают, а ведут себя одинаковым предсказуемым способом, и перестанут соваться под колёса. Если автомобили начнут массово уезжать в столб, когда любой бабуле вздумалось перейти дорогу здесь и сейчас, то все наоборот станут эксплуатировать эту защиту пешеходов и выходить на проезжую часть когда ни попадя.
    Когда я учился водить, то часто останавливался перед людьми намеревающимися перейти дорогу в неположенном месте. Инструктор объяснил, что перед ними не нужно даже сильно притормаживать. Т.к. так я им оказываю медвежью услугу — они начнут переходить и их собьёт автомобиль в следующем ряду.
  • Хватит делать сайты с бесконечной прокруткойǃ
    +27
    А также хватит делать сайты с паджинацией по 10 элементов!
  • Краткий справочник по роботам-пылесосам 2018
    0
    Можно попробовать наклеить на эти ножки светоотражающую полоску на высоте лидара.
  • Российские ученые создали двигатель для кубсатов на 40%-ном растворе спирта
    +1
    Так же ж за 80 лет до этого...
  • Мобильная версия Хабра. Версия 3.0
    +2
    Уважаемые пользователи мобильных версий сайтов, поделитесь пожалуйста опытом, как вы навигируетесь по длинным текстам?

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

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

    P.S. Специализированные приложения раздражают ещё тем, что там нельзя нельзя скопировать текст и открыть сто тыщ вкладок. Вообще считаю ресурсы потраченные на разработку мобильных версий и специальных приложений потраченными в пустую и искренне ценю когда вёрстка полноценного сайта сделана так гибко, что правильно подстраивается под отображение на мобильном устройстве.
  • Возможна ли мгновенная передача информации? Эксперименты с квантово запутанными частицами
    0
    Хотя даже то, что плечо с линейным поляризатором должно было бы быть короче не помешало бы передавать информацию быстрее скорости света. Просто ставим, например, два источника запутанных фотонов посередине между Нью-Йоркской и Чикагской биржей, скажем чуть ближе к Нью-Йоркской и вводим на ней поляризатор в один луч, ести акции подешевели, и в другой, если подорожали. А на Чикагской смотрим, на каком из двух интерферометров случился дисбалланс лучей и предпринимаем соответствующие действия. Такой эксперимент ставили?
  • Возможна ли мгновенная передача информации? Эксперименты с квантово запутанными частицами
    0
    (Промахнулся веткой)
  • Возможна ли мгновенная передача информации? Эксперименты с квантово запутанными частицами
    0
    Я правильно понимаю, что линейный поляризатор, посредством которого мы влияем на распределение пучков на выходе из интерферометра, влияет на это распределение только до тех пор, пока путь первого запутанного фотона до него меньше, чем путь второго запутанного фотона до ближайшего из круговых поляризаторов?

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

    Таким образом естественно получается, что информацию быстрее скорости света не передать.
  • Как нам удалось прочитать рукопись, найденную в 80-х возле третьего крематория в Аушвице-Биркенау
    +7
    Когда мне нужно выделить текст с фотографий с неравномерной освещённостью и размытостью, то я вычитаю из изображения его размытую гауссом версию. Вычитание обратной стороны страницы с размытыми чернилами очень похоже на этот подход. В GIMP для этого можно использовать фильтр Difference of Gaussians.
  • ИИ Google научился предсказывать, когда пациент умрет (но не все так мрачно)
    +9
    ИИ вывел следующие правила анализа фотографий медицинской карты: если почерк принадлежит врачу Иванову, то жить осталось неделю, если Петрову, то две…
  • Бактерии выживают в «чистой комнате» при сборке космических аппаратов, питаясь чистящими средствами
    +35
    Я и людей видел, которые питаются в основном этанолом, в том числе и чистящими средствами…
  • Магнитный редуктор для бесколлекторного мотора
    0
    Мотор будет давать точно такой же момент, как редуктор, т.к. это будет мотор в корпусе редуктора, и использующий внешние магниты редуктора. Просто магнитное поле ротора будет создаваться обмоткой, а не магнитопроводом. Единственное ограничение, которое я вижу — это, что обмотку не удастся эффективно охладить если выжать из неё такое же поле, как давал магнитопровод и крутить на таких же пониженных оборотах.
  • Магнитный редуктор для бесколлекторного мотора
    +1
    Использование магнитного редуктора после BLDC мотора похоже на использование редуктора собранного из генератора и ещё одного мотора. Как с генератором можно было бы выкинуть первый мотор и генератор и просто подавать правильное напряжение на выходной мотор, так и здесь можно выкинуть первый мотор и сердечник с магнитопроводом редуктора, и просто заменить их на новый ротор, который питать подходящим напряжением и крутить медленнее, но с большим моментом.
  • Светодиодные лампы Ledroid
    0
    А почему база зашита в приложение, а не скачивается актуальная?
  • «Жадность фраера губит» или Сказ о том, как защитники авторских прав животных сами себе навредили
    +3
    А все миллионы фотографий и видео диких животных, которые сняты с помощью детектора движения они тоже собирались этим всем вымирающим леопардам и пандам отдать во владение? Ведь там тоже активация записи происходила животными.
  • Второй день веерной блокировки: в реестре 16,3 млн IP-адресов. Жаров отчитался, что деградация Telegram составляет 30%
    +2
    А не кажется ли вам, что вся эта движуха в очередной раз развёрнута, чтобы отвлечь нас всех от чего-то действительно важного, происходящего на заднем фоне? У кого какие варианты?

    Что там ещё происходит параллельно? Повышение налогов? Продление президентского срока до бесконечности? Увеличение пенсионного возраста или вообще отмена пенсии?

    Наверное, это должно быть что-то вообще незаметное, но имеющее большие последствия… Какая-нибудь поправка к конституции, или, даже, поправка к механизму внесения поправок в конституцию, или что-то типа того…
  • Второй день веерной блокировки: в реестре 16,3 млн IP-адресов. Жаров отчитался, что деградация Telegram составляет 30%
    +1
    Я, может глупость спрошу, но закон по которому идут эти ковровые блокировки, разве не требует обоснования связи блокируемого адреса с блокируемой программой?

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

    А у нас получается «Роскомнадзор обнаружил, что Телеграмм коннектится на некоторые чётные IP адреса, поэтому все чётные IP адреса подлежат блокировке». А через день «РКН заметил, что Телеграмм продолжает работать и теперь коннектится на нечётные IP адреса, поэтому все нечётные IP адреса тоже добавляются в список. Но мы пересмотрели предыдущие заблокированные адреса, и адрес кремля из блокировки исключается.»

    Прошу воздержаться тех, кто хочет написать, что-то вроде «Да ты, что? Не знаешь в какой стране живёшь и как у нас законы исполняются?» Я знаю.
    Мне хотелось бы услышать информацию от тех, кто реально понимает текст закона, или, как минимум, с ним ознакомился.

    Мне кажется, что в этой ситуации надо уже не Телеграмму подавать аппеляцию на то, что их блокируют за то, что они несуществующие ключи не отдают, а какой-нибудь инициативной группе подавать иск, что некоторая организация превышает полномочия и блокирует вот эти 0.5 млн адресов не имея для этого подтверждённых оснований.
  • Как мы восстанавливали расписание междугородних автобусов
    +5
    Можно ещё за какую-нибудь скидку попросить пассажиров включить GPS при посадке в автобус, указать его номер (Вы едите в автобусе 552а? Да / Нет, указать другой номер.) и через приложение протрекать как он реально едет и где останавливается.
  • Система отопления многоквартирного дома. Ликбез с примерами
    0
    Я думаю, что температура обратки, грубо говоря, опускается до комнатной и дальше ей остывать некуда. Если точнее не до комнатной, а до той, когда теплообмен уже почти не идёт. На сколько я помню, скорость теплообмена пропорциональна разности четвёртых степеней абсолютных температур. Отсюда следует, что система с разницей между притоком и обраткой в одинаковые 10° и одной и той же температурой окружающей среды (температурой в квартирах), будет отдавать совершенно разное количество тепла, если эта разница между 50°С и 40°С или, если разница между 100°С и 90°С. Но в обоих случаях по коммунальной формуле стоимость этого тепла для нас будет одинаковой. Отсюда вывод — чтобы получить больше за те же деньги, надо бороться, чтобы обратка была горячее. Т.е. регулировать температуру надо не увеличивая долю примешанной обратки, а подавая меньше теплоносителя, но держать его температуру максимальной.
  • Неудача с часами на ATMega48
    0
    Конвертацию сделает, когда проснётся, чтобы прочитать время из RTC, работающей независимо и питающейся от CR2032 и обновит индикатор. Из DS1307 он прочитает год, месяц, день, час (в 12 или 24 часовом формате, как настроено), минуты и секунды. При этом это всё по одной цифре в двоично-десятичном формате. И большинство RTC имеют такой API. А я хочу прочитать тупо 64 бит счётчика миллисекунд и сам сконвертить в дату.
  • Неудача с часами на ATMega48
    0
    А кто подскажет RTC, которая просто имеет двоичный счётчик без всяких там календарей в бинарно-десятичном формате как у DS1307?

    Наверное это лет 20 назад было оправданно, когда подобная логика была в железе зашита. Сейчас контроллер любую конвертацию сделает сам. И наоборот, надо какие-то странные вычисления проводить, если, например, две таймзоны хочется отобразить. Почему все эти микросхемы с годами, месяцами, днями, минутами и секундами всё-ещё так популярны, а тупой счётчик миллисекунд не найти?
  • Жидкий металл: подводные камни. Взгляд глазами химика
    0
    А с практической точки зрения что делать, если разобью такой градусник? Просто соскрести, то, что соскреблось, а на остальное, прямо, вот так, забить и считать, что всё безопасно?
  • Жидкий металл: подводные камни. Взгляд глазами химика
    0
    Сейчас предлагают «безопасные» градусники на основе галлия. Я так понимаю, что, если он разобьётся, то это действительно, не так опасно, как разлить ртуть. Но учитывая, что ЖМ всё-таки токсичен и очень мазучий, как его собрать в домашних условиях? Можно его во что-нибудь надёжно впитать как в губку? Или чем-нибудь засыпать, чтобы получить безопасное соединение?
  • Джефф Безос начал установку 150-метровых механических часов, которые проработают 10 000 лет
    0
    Как-то они очень сильно полагаются на то, что с горы будет видно солнце — завод от колебаний температуры, корректировка хода по солнечному лучику через окошко… Первая же ядерная зима собьёт и остановит эти часы!
  • Работа сознания: что такое пятна Габора?
    0
    Аааа! Как мне теперь её развидеть?!