• Кто помнит «старшего брата» CD и DVD?
    +4

    Даже пластинку держат так, чтобы избегать соприкосновения пальцев со звуковыми дорожками, так что не объяснение :)

  • Кто помнит «старшего брата» CD и DVD?
    +6

    Интересно, а меня одного коробит, как все эти граждане на фотографиях лапают диски, и какой кучей они валяются на полу у детей?

  • Собеседование в Яндекс: театр абсурда :/
    +1

    Мне диплом был нужен только для того, чтобы страховка не придиралась к тому, что я не вызываю два раза в год дипломированного специалиста. А так я сам себе Буратино :)


    Но действительно, Рассела не узнал, богатым будет.

  • Собеседование в Яндекс: театр абсурда :/
    +1

    Ну вообще я только свой дымоход чищу, но давайте вопрос!

  • Почему мы отказались от стандартных теней Unity для мобильных шутеров и вместо этого написали свои
    +2

    А зачем спорить? Я вам дал обратную связь, плюсы к моему комментарию её усиливают. А дальше вам решать, что с этой обратной связью делать.


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


    Для общего обзора не хватает огромного пласта техник, например, ambient occlusion, да и вообще деталей в уже существующем тексте. Пока что получилось про нарисовать сову :(

  • Почему мы отказались от стандартных теней Unity для мобильных шутеров и вместо этого написали свои
    +10

    Скажите, пожалуйста, а кто является целевой аудиторией статьи? Картинки, конечно, красивые, но практической (кроме рекламной) пользы не вижу. Чтобы научить читателей техникам, было бы здорово показать рабочий код. А то ведь те, кто понимает, о чём идёт речь, и сами всё это могут сделать...

  • Собеседование в Яндекс: театр абсурда :/
    +1

    Лично я дипломированный трубочист (серьёзно), так что давайте поговорим :)


    Руку на отсечение не дам, но вроде бы, в обоих случаях задачи разрешимости NP-полны, и не всегда ясно, когда говорят просто про рюкзак (коммивояжёра), имеются ли в виду оптимизационные задачи или речь про разрешимость.

  • Собеседование в Яндекс: театр абсурда :/
    +1

    Я не настоящий сварщик, я маску нашёл, но насколько я понимаю, под словами "задача коммивояжёра" и "задача о рюкзаке" могут подразумеваться несколько разные вещи, в том числе NP-полные задачи, так что сведение одной к другой неочевидно в таком простом заявлении, как ваше :)

  • 100500-ая автоматика полива для растений
    +1

    Совсем не интересуюсь растениями, но вот вам от меня плюсы за то, что вы потрудились сделать аккуратный корпус для своего устройства :)

  • Производительность главнее всего
    +2

    Да, спасибо. Ну что ж, наши с вами интерпретации текста Кнута не совпадают.

  • Производительность главнее всего
    +2

    Наверное, зависит от размера прототипа. Но в моей практике действительно первый код часто выкидывается, и пишется заново, причём скорость написания во второй раз выше минимум на порядок.

  • Производительность главнее всего
    0

    Я не читал текст, из которого взята цитата (возможно, ответ там), но непосредственно из цитаты не могу понять, откуда вы берёте утверждение про "вылизывать сразу" и никогда "не будет времени на оптимизацию". Не могли бы вы пояснить? Спасибо!

  • Это не работает
    +4

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


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


    Мораль истории: не стесняйтесь написать просто письмо благодарности автору понравившегося вам инструмента, их очень приятно получать!

  • Это не работает
    +3

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


    Это не конец мира, с этим можно успешно жить ;)
    Собственно, вся статья заключается в том, что поддержка открытого проекта — это серьёзное давление, и к этому надо быть готовым.

  • Это не работает
    +1

    Я правильно понимаю, что вы предлагаете научиться работать под давлением, и не упоминать в принципе, что давление существует?

  • Это не работает
    +3

    Не поверите, у меня на проектах есть непрерывная интеграция и всякие юнит-тесты. Меня удивляет, что вы предположили, что я не умею пользоваться этим инструментарием :)
    Только этот инструмент не панацея — нельзя проверить любые ситуации, особенно в случае, когда вы вызываете чужой код.


    Более того, я регулярно сталкиваюсь с ситуацией, когда мой код проверил входные данные, и отказался работать, выдав соответствующее сообщение. Только пользователь, который написал кривой коллбэк, обвиняет меня: «не работает». И когда багзилла заполняется подобными баг-репортами, и на исследование каждого «бага» у вас уходит пара часов, руки опускаются. Если бы 100% баг-репортов были бы действительно о багах в моём коде, это было бы счастье.

  • Это не работает
    +4

    Я думаю, что это очень сильно зависит от природы проекта. Одно дело игра «сапёр», где пользователь только кнопки нажимает. И совсем другое дело библиотеки с пользовательскими коллбэками, которые исполняются в непредсказуемых средах. Там просто невозможно выдать инструкцию, которая позволит «решить проблему самостоятельно».

  • Это не работает
    +2

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

  • У английского языка нет будущего (времени)
    0

    [del]

  • Почему вам не дают подробный фидбек после собеседования
    +1

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

  • Почему вам не дают подробный фидбек после собеседования
    +1

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

  • Почему вам не дают подробный фидбек после собеседования
    +3

    В такой формулировке задача не имеет смысла. Пример: функция, которая любым трём числам сопоставляет единичный симплекс.

  • Почему вам не дают подробный фидбек после собеседования
    +1

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

  • Почему вам не дают подробный фидбек после собеседования
    +1

    Да, спасибо.

  • Почему вам не дают подробный фидбек после собеседования
    +2

    Если вы собеседуете людей, то вы (в том числе) — специалист, занимающийся подбором персонала (см. рекрутер).


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

  • Почему вам не дают подробный фидбек после собеседования
    +3
    1. Мне неочевидно, что речь о найме исключительно тестировщиков.
    2. Мой вопрос был не о том, какое решение правильное, а о том, что именно вы им тестируете.

    В — внимание, очень важный навык рекрутера. Я тут разговаривал вежливо, пожалуйста, постарайтесь не кидаться RTFM. А то впечатление о ваших советах про обратную связь смазывается. Я последовал чётко вашему тексту, и попросил развёрнутый фидбек. А получил что?

  • Почему вам не дают подробный фидбек после собеседования
    +3

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


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

  • Почему вам не дают подробный фидбек после собеседования
    +1

    Было бы очень здорово, если бы Molechka могла нам рассказать о том, что именно тестируется этим вопросом.

  • Почему вам не дают подробный фидбек после собеседования
    +1

    А чего стыдно-то? Разве это неправильный ответ? Тогда мне тоже стыдно :)

  • Почему вам не дают подробный фидбек после собеседования
    +2

    Я, собственно, об этом сразу же и сказал. Вы с кем-то не тем спорите :)


    Кстати, я бы избегал прилагательного "правильный", оно может быть истолковано как "равносторонний".
  • Почему вам не дают подробный фидбек после собеседования
    +2

    О, а вот и истолокование слова "правильный" как "равносторонний". Я думаю, что задача была определить, при каких условиях существует треугольник с заданными длинами рёбер a,b,c. Если я ничего не упускаю, то необходимо одновременное выполнение трёх неравенств
    a+b>c
    a+c>b
    b+c>a


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

  • Почему вам не дают подробный фидбек после собеседования
    +3

    Кстати, я бы избегал прилагательного "правильный", оно может быть истолковано как "равносторонний".

  • Почему вам не дают подробный фидбек после собеседования
    +3

    [сейчас я опозорю свою докторскую степень ;) ]
    Если бы мне задали такой вопрос, то я бы проверил три неравенства треугольника. Упустил ли я что-то?


    Если это правильный ответ, то я не понимаю, что именно такой вопрос проверяет на собеседовании. Проверку переполнения? Вряд ли… Можете разжевать? Спасибо!

  • Почему вам не дают подробный фидбек после собеседования
    +1

    Дайте, пожалуйста, задачу про треугольник.

  • Повесть о трекболах
    0

    возьмите slimblade модель этого же производителя — она заметно приятнее

  • Повесть о трекболах
    +4

    Уже десять лет использую левый и правый ежедневно. Правый лучше (но заметно дороже). Из плюсов правого:


    • пожизненная гарантия (у меня микрики в кнопках ломались, мне присылали новый по простому запросу по емейлу)
    • более низкий профиль, кисть меньше изгибается.

    Из особенностей (не могу сказать, что минус) правого: у него нет колечка прокрутки, как у левых двух. Прокрутка осуществляется при помощи вращения самого шара вокруг вертикальной оси. Мне очень нравится, но поначалу было неудобно переходить от левой модели. Ещё неудобство — отсутствие тактильного фидбека от прокрутки. Если колёсико на левом трекболе вращается с мелкими щелчками, то при вращении шара вокруг вертикальной оси никаких вибраций нет. Трекбол при этом тихонько трещит, но это только звук из внутреннего динамика!


    Я перепробовал десятки разных трекболов. Эти три кенсингтона на голову выше всего остального на рынке.

  • Совершенный цикл for
    0

    Ну, если запись вида


    std::vector<int>  width(n);
    std::vector<int> height(n);
    [...]
    for (auto [w,h] : zip(width, height)) {
         [...]
    }

    то перепутать сложно. А вот если объявление кортежа дальше, то да, можно перепутать. Но тут мы говорим именно о таком локальном объявлении.

  • Совершенный цикл for
    0

    tuple можно легко разобрать на запчасти при помощи structural binding, так что имена будут красивыми.

  • Совершенный цикл for
    0

    На всякий случай поясню комментарий про API: время жизни очень большой части софта для численных расчётов должно измеряться десятилетиями. Поэтому на новомодный сырой язык мало кто перейдёт только потому, что это молодёжно. Очень, очень не зря современный фортран тащит на себе ярмо совместимости с предыдущими версиями стандарта.


    Нас, например, очень напрягает то, что современный C++ убирает кучу старых фич, т.к. это ломает код.

  • Совершенный цикл for
    0

    Я auto стараюсь не использовать в циклах (ну, помимо structural binding в enumerate/zip), т.к. бывает, что переменная целочисленная, а бывает, что и ссылку возвращаю. Ну и вообще auto на один символ длиннее int :)