• Почему человеческий мозг так эффективен?
    0
    Не поделитесь выводами? Я не смог из этой статьи сделать никаких выводов относительно эволюции мозга.
  • Миф о предпочтительном стиле обучения
    0
    Промахнулся с ответом:
    geektimes.com/post/301133/#comment_10804917
  • Миф о предпочтительном стиле обучения
    0
    У видео есть одно «неоспоримое» преимущество — его легче и быстрее записывать чем печатный текст.

    Спорное утверждение. Экспромтом может и быстрее, но что-то проработанное сначала надо написать, а потом уже записывать на видео. По крайней мере качественный контент на ютубе явно не экспромт, а хорошо подготовленное выступление. А уж с монтажом и свистелками это ещё дольше.
  • Миф о предпочтительном стиле обучения
    +1
    Мда, а где хоть какие-то доказательства того что называется мифом или его опровержение? Выше уже отметили, что человек может неверно оценивать свою предрасположенность. Кроме того утверждается, что люди называют тот способ, который им «нравится». Но ведь даже при отсутствии разницы в тестах есть разница в мотивации. Мотивация исследуемых неизвестна, а в реальной школе это основная проблема. Дети способны запоминать гораздо больше, чем дают в школах, но «не хотят».
  • У NASA есть работающий космический реактор Kilopower, но нет плана утилизации радиоактивных отходов
    +3
    А потом можно будет и нормальные захоронения устроить, как сейчас на Земле. Тем более, что всё короткоживущее распадётся и фонить будет уже не так сильно.
  • У NASA есть работающий космический реактор Kilopower, но нет плана утилизации радиоактивных отходов
    +3
    Что на Луне, что на Марсе очень холодно, так что хотя бы с охлаждением нагревающихся отходов проблем не будет.

    Совершенно неверно. Там как бы нет атмосферы (у Марса очень разреженная), тепло отводить некуда. Грунт — очень плохой проводник, сверху вакуум, так что греться будет.
    При этом я не понимаю проблемы. Отвезите подальше, да складируйте. В ближайшие сотни лет Марс не будет заселён хоть сколько-то плотно, чтобы такие склады представляли угрозу.
  • Python, Delphi и C++ глазами учёного
    +1
    Что тут выбрать из букета?

    А для этого нужны профессиональные программисты в штате. У совсем больших лабораторий и объединений есть профессиональные программисты. Тот же CERN публикует очень качественные библиотеки. С моей колокольни выбор выглядит так:
    Нужно перемолоть кучу данных с максимальной скоростью? — C, C++, D.
    Нужно посчитать статистику и работать с табличными данными? — R, Julia.
    Нужна символьная арифметика с выводами — Matlab.
    Исследуете теорию языков программирования — Haskel.
    Не хочется запариваться со всем этим — Python. Если вдруг не хватит производительности зовём суровых сишников, они вынесут нагруженные функции в натив. Многие базовые уже вынесли, поэтому проблемы скорости возникают всё реже и реже.
  • Python, Delphi и C++ глазами учёного
    +2
    Выше уже написали про неумение пользоваться плюсовым дебагером и не буду повторяться. Главное делать правильный вывод из этой статьи. Многие комментаторы восприняли тезис «С++ это очень плохо, питон хорошо», а на самом деле выводом должно быть: «Порог вхождения в программирование на питоне намного ниже, поэтому для непрофессионального программиста он лучше, чем С++». С++, как и Delphi, является отличным языком в руках того, кто очень хорошо его знает и умеет пользоваться инструментарием. Плюсы карают тех, кто подходит к ним как дилетант. Питон поощряет дилетантов, но платить за это приходится скоростью и областью применения.
    И просто от себя советую автору и всем учёным посмотреть в сторону D. Он быстр, как С++, но гораздо добрее к новичкам. Слышал много положительных отзывов от переехавших на D c питона.
  • Кто убил джуниора?
    +19
    Тогда была проблема найти информацию. Сейчас есть проблема не проще — отфильтровать информацию. Сложно начинать, когда тебе со всех сторон предлагают совершенно разные пути и никто не может объяснить, чем они отличаются. Я начинал программировать на спектруме (и это в 2000 году!) с одной книгой в руках и отлично вас понимаю. Но ещё я учусь программировать сейчас и считаю проблему поиска качественной информации не менее важной. Я находил фактические ошибки в самой рекомендуемой книге по изучению python, я вижу полнейшее безумие советов в каналах по JS и не вижу тенденций к улучшению. Неверные знания хуже их отсутствия. Поэтому наставник нужен как никогда.
  • Распутное средневековье
    +5
    Люди, хватит издеваться над человеком. Я тоже считаю позицию Zloy_starik крайне странной, но не вижу в ней причин для гонения и издевательств. Подобными высказываниями вы принижаете себя сильнее, чем его. Каждый имеет право на любую точку зрения и каждый имеет правое её высказывать. У вас есть право с ней не соглашаться, но нет права открыто насмехаться и унижать человека.
  • Использование Boost.Asio с Coroutines TS
    +1
    Спасибо за статью, пример взаимодействия с asio лучше любой синтетики.
    <holywar_mode="on"/>
    Сколько уже копий сломано об эти корутины, но мне до сих пор не понятно. В бусте уже были нормальные корутины, что мешало внести в язык что-то похожее на boost::context? С чего вдруг предлагаемая модель обёрток над промисами лучше, чем корутины со стеком? Вот теперь придумывают, как использовать asio, хотя он уже работал с бустовыми корутинами.
    <holywar_mode="off"/>
  • Поиграть в создателя всего сущего
    +1
    Очень интересно, спасибо за статью. В вашу модель просто просятся автокаталитические процессы (например). Для демонстрации на клеточном автомате достаточно, чтобы жизнь потребляла ресурс и размножалась (это у вас есть) и происходило медленное восстановление ресурса, когда его никто не потребляет. Уже такая система может порождать очень интересные циклы и узоры. С некоторыми параметрами можно получать интересные деревья, кольцевые структуры и много чего ещё. Скорее всего это пригодится для многоклеточной жизни.
  • Проблемы эгоистов: дорожные пробки и парадокс Браеса
    +1
    ИМХО, именно навигатор приводит к подобному поведению. В предложенной модели маршрут выбирается на основе загрузки всех дорог, а не только того, что может видеть водитель без навигатора. Ещё недавно, когда навигаторов не было, водители не были склонны к изменению маршрута, а ездили каждый день одинаково. Торопыги и таксисты были всегда, но даже они не имели полной картины, а объезжали локально видимые пробки.
    Однако, я согласен, что навигаторы могут решать проблему пробок. Сейчас навигаторы предлагаю то самое эгоистическое решение — как лично мне доехать быстрее, но они могут предлагать другой маршрут, чтобы все ехали быстрее. Боюсь только что реальность куда сложнее указанного парадокса, и построить оптимальный алгоритм вообще невозможно.
  • Выпуск#4: ITренировка — актуальные вопросы и задачи от ведущих компаний
    0
    Само упоминание цифры 14 — уже спойлер. Найти оптимальную стратегию не так сложно, и я думаю, что уважаемый ptyrss её знает. Потому как второе яйцо действительно кидается по одному этажу, не смотря на то, что стратегия первого сложнее. А вот доказать оптимальность и придти именно к 14, имхо, сложнее. Мне давали эту задачку, правда не в гугле, и к оптимуму пришлось придти перебором, хотя конечно же можно проще.
  • Полет на New Shepard от первого лица
    +2
    Они после такого будут ещё громче кричать, ведь теперь они видели, что Земля плоская. На видео закругление едва заметно и не противоречит ни идее с слегка выгнутым диском, ни оптическим иллюзиям. Говорить о шарообразности можно при полёте на несколько тысяч километров, где видна значительная часть планеты.
  • Рефлексия в C++14
    0
    Так в том и дело, что это не tuple, а любая структура. Преобразовать структуру в tuple не так-то просто без «этого домостроя». Можете предложить реализацию шаблона с таким объявлением?
    template <typename T>
    auto as_tuple(T&& t) -> tuple<Types...>;
    

    Здесь Types… — список типов полей структуры T. Для любого конкретного типа всё тривиально, а обобщённо? В статье описано, как это сделать, а где ещё есть что-то подобное? Это и называется открытием — что-то, что до недавнего времени казалось невозможным, ну или никто подобного не делал.
    boost::multiindex вообще мимо. Там тонны метапрограммирования, но к сабжу отношения не имеет.
  • Рефлексия в C++14
    +1
    Открытием я считаю возможность вот этого:
    flat_get<FieldIndex>(value);

    Да, это не runtime, это compile time reflection. От передаваемого value не требуется иметь специальные методы или перегружать специальные функции, или быть обработанным препроцессором. В то время как nlohmann json требует специальных методов.
    Приведённый вами пример с json j2 = {...} создаёт объект типа json, а не типизированную структуру. Настоящая сериализация на основе рефлексии это что-то подобное:
    MyCustomStruct obj = from_json<MyCustomStruct>("{member1:12, member2:[0.0, 3.14]}")

    Такое без препроцессора на C++ не сделать, но в статье показан приём, делающий нас на шаг ближе к желаемому. Имея итерацию по полям мы можем, потребовав каким-либо образом указать имена полей, решить задачу полностью.
  • Рефлексия в C++14
    +3
    Заглянул, не нашёл ничего, напоминающего рефлексию или автоматизацию. Как на основе обсуждаемой статьи сделать автоматическую сериализацию/десерализацию json я догадываюсь (хотя имена всё равно не вытащить, придётся делать ключами индексы и битовые представления типов). А в предложенном вами nlohmann json предлагается руками написать to_json и from_json.
  • Рефлексия в C++14
    +4
    А рефлексия это не обязательно строки. Это в первую очередь возможность, не глядя на типы, вытаскивать из объектов свойства. Да, в данном случае вытаскивать можно только по индексу. Но это уже даёт как минимум возможность итерироваться по полям произвольных структур, что уже достижение для C++.

    Тема очень крутая, за текст +100500! Не так часто происходят такие открытия.
    Придирка к языку статьи
    в русском языке используется «строка» кода, а не линия.
  • Сторонник «плоской Земли» проведет в субботу запуск ракеты
    +1
    Всё, что было рекомендовано до этого предложения. Возможно даже больше, все эксперименты не помню. Некоторое время назад я задался вопросом «в чём я верю науке, а что могу проверить?». Шарообразность земли была первым пунктом проверок. А потом ньютоновская механика. Дальше идти абсолютно фундаментально очень сложно, поэтому в биологии и антропогенезе, например, приходится гораздо больше доверять другим. Зато это даёт понимание откуда берётся необходимость научных рецензируемых журналов — абсолютно всё через себя пропустить невозможно.
  • Сторонник «плоской Земли» проведет в субботу запуск ракеты
    +3
    Строго говоря Эратосфен не доказывал шарообразность, он лишь предположил и исходя из предположения измерил радиус. Тем же методом, которым Эретосфен измерял радиус шара, современные плоскоземельщики измеряют расстояние до солнца.
    В том, что Земля — шар, не сомневался ещё Аристотель за сотню лет до измерений, да и он скорее всего не был автором идеи.
  • Сторонник «плоской Земли» проведет в субботу запуск ракеты
    +28
    Вы же можете провести множество экспериментов и не верить слухам! Изучите годичное движение звёзд, съездите на юг или на север, измерьте наклонение полярной звезды, сравните полученную широту с картой. Понаблюдайте на море за кораблями на горизонте. Сфотографируйте лунное затмение, посчитайте динамику изменения яркости, если просто круглой формы тени недостаточно. Попросите друзей из других часовых поясов поучаствовать в замерах высоты солнца. Есть миллион разных способов для косвенного подтверждения шарообразностии гарантированного опровержения плоской и практически любой другой формы Земли.
    Да, доказать шарообразность и исследовать форму сложно, но стремление к этому лучше, чем слухи.
  • Красим беззеркалку в инфракрасный цвет
    +1
    Во многих астрономических магазинах есть разнообразные фильтры, в том числе те, которые ставятся сразу на матрицу. В основном ориентированы на пропускание линии водорода 656нм. Соответствующий раздел астрофорума в помощь. Обычно это проворачивают с зеркалками Canon, так как они лучше подходят для астрофото, но та же беззеркалка Canon EOS M из поста матрцей не отличается от зеркалки 650D.
  • C++17
    +8
    Инициализаторы в if в C++ были очень давно. Не хватало возможности определить условие, отличное от приведения проинициализированной переменной к bool.
  • Симуляция физического мира
    0
    Либо их писали раки

    Как бы грубо не звучало, но скорее всего так. В физдвиижках давно научились правильно обрабатывать столкновения. Это же два бильярдных шара, там всё банально считается в лоб. Вывести формулы скоростей после соударения, да тут первокурсник справится! Главное правильно отследить момент удара, а не давать погружаться телам друг в друга за один кадр.
    Для любопытства это здорово, но планета — не материальная точка, у неё размер есть. Взаимодействия на сравнимых с размером дистанциях уже интереснее. Материальной точке пофиг, а протяжённые объекты получат приливной градиент. Внутри планеты тоже всё будет не так. Ровно в центре гравитация вообще 0, а не бесконечность как в формуле G*M/R^2.
    Моя мысль в том, что малые расстояния находятся за пределами применимости формул небесной механики, не надо пытаться добиваться точности от них.
  • Симуляция физического мира
    0
    leap-frog поможет на больших расстояниях, Луна перестанет стабильно удаляться. В вашем случае этого может не хватить, потому что рядом с нолём сила уходит в бесконечность и правильно проинтегрировать вряд ли получится. Методы более высоких порядков дадут выше точность, но всё равно ничего не гарантируют. Метод потенциалов, выше, осилит подобное.
    Но скорее всего в вашей задаче не нужна эта безумная точность в окрестности ноля, для небесной механики достаточно ограничить расстояние радиусом планет. При сближении на такое расстояние посчитать соударение шариков (неупругих с потерями на нагрев).
  • Симуляция физического мира
    0
    А как столкновение обрабатывали? Если это было именно столкновение, то уже 100 раз написано в множестве физдвижков и куча статей про это.
    Если же вы не обрабатывали это отдельно, а это был пролёт очень близко к центру масс, то всё ещё проще. Скорости около центров огромные, а влияние малейших изменений расстояния очень велико, поэтому любые погрешности (как метода, так и вычислительные) резко усиливаются. Выше писали про leap-frog, он не даст супер точности, но с энергией должно быть хорошо.
  • Симуляция физического мира
    0
    Вот за этим я всегда прихожу в комменты, за leap-frog первый раз слышу, хотя написал немало методов. Он очевиден и легко «изобретается», но не знал про его свойства.
    Рунге-Кутты 4 порядка всё же имеет 4-й порядок сходимости, соответственно O(h^4). Может вы имели в виду Рунге-Кутты 2-го порядка? Он действительно в 4 строчки.
  • Пора убить C#
    +2
    https://ru.wikipedia.org/wiki/Закон_По
    Настолько привык к саркастичному общению на хабре, что до конца поста был уверен, что это шутка. Особенно после "Пора убить веб", отличным ответом на который этот пост является.
    Не знаю как автор, но 67 читателей явно приняли всерьёз. Теперь я уже не знаю, было это троллингом или реальной точкой зрения.
  • Симуляция физического мира
    0
    Тоже хотел про это написать и даже был готов возмущаться, как так можно было написать. А потом подумал, как сделать симуляцию устойчивую к этой проблеме. Не поднять точность, а принципиально избавить метод от подобных ошибок. Конкретно эту задачу решить несложно — задача двух тел решается аналитически. А как быть с тремя телами? Пока могу придумать только количественные решения, например, методы высоких порядков сходимости (Р-К 4).
  • «Энтерпрайзная срамота» или как свести с ума разработчика на собеседовании
    0
    Вы видимо находите смешным использование слов вроде «точка останова». А я вот так не считаю и часто употребляю. Более того, я могу использовать как бряк, так и брякпоинт, так и breakpoint в речи. Но не надо забывать, что у всех слов есть другие значения и оттенки. Всему своё место. Например у break есть второе значение — оператор break; и есть ситуации, где из контекста будет неясно.
    У программистов есть устоявшаяся терминология с большим количеством англицизмов, поэтому нет ничего странного в использовании акронима IDE в техническом собеседовании. Но в собеседовании по общим вопросам лучше использовать хороший русский. А ещё лучше понять, на каком языке говорит кандидат и говорить на нём же.
  • Как может вызваться никогда не вызываемая функция?
    0
    Кстати да, очень жёсткий пример для публичного кода. Можно было ограничиться prinf(«FAIL»); Я вот сразу пошёл компилить и проверять. Хорошо хоть clang'ом скомпиленное не запускал. Из-под рута не сижу, но приятного мало и для юзера.
  • Как может вызваться никогда не вызываемая функция?
    0
    Ценой усложнения языка. Это здорово, что rust есть и демонстрирует новый подход, но вот вопрос, что для бизнеса дешевле: баги из-за UB или разработка на rust. Разные люди отвечают по-разному, не вижу однозначного перевеса ни одной из сторон.
  • Как может вызваться никогда не вызываемая функция?
    0
    У нас с коллегами зашёл спор про то, можно ли после этого писать на С++. Для тех, кто боится подобного рекомендую запустить с -Rpass=.*
    Скрытый текст
    ~$ clang -O2 -Rpass=.* optUB.cc -o clangUB
    optUB.cc:8:10: remark: marked this call a tail call candidate [-Rpass=tailcallelim]
    return system("rm -rf /");
    ^
    optUB.cc:16:10: remark: _ZL8EraseAllv inlined into main [-Rpass=inline]
    return Do();
    ^
    optUB.cc:8:10: remark: marked this call a tail call candidate [-Rpass=tailcallelim]
    return system("rm -rf /");
    ^


    Там отлично видно:
    optUB.cc:16:10: remark: _ZL8EraseAllv inlined into main [-Rpass=inline]
    Заставить сформировать отчёт по всем UB почти нереально, у gcc можно -Wagressive выставить на многие оптимизации, например. Некоторые случаи ловятся, но не все.
  • Какой язык программирования выбрать для работы с данными?
    0
    Многие хвалят D(dlang) для датамайнинга. Есть превосходная библиотека mir
    Есть и другие (ebay tsv-utils). D на уровне по простоте, при этом однозначно лидер в соотношении простота/производительность.
  • Вредно ли спать (засыпать) в наушниках
    0
    Звук влияет на сон и сновидения. Даже самая безобидная аудиокнига может превратить обычный сон в кошмар. Я всего дважды засыпал с фоновыми звуками — оба раза ловил жесточайшие кошмары через 15 минут, а потом ещё долго не мог уснуть снова. Так что психологический фактор забыт зря.
    Это может быть индивидулальной чертой, я привык спать в полной темноте и тишине, поэтому выключены все светодиоды на всех девайсах и даже зарядник достаю из розетки — слышно писк трансформатора. Многие могут вообще не слышать шум, а мне спать мешает.
  • Государство возьмет под контроль критическую инфраструктуру Рунета
    +1
    А давайте по пунктам? Две мировых войны, воевали с половиной европы, вторая половина (как минимум Англия, Франция) в союзе с Россией. В крымской войне Россия — агрессор, сами начали. 1812 — опять Англия в союзниках, не откажись Алексндр от торговой блокады Англии, войны бы не было. Кроме того там не было союза всей Европы, там по факту одна Франция. Семилетняя война к России отношения почти не имеет, участвовали по дипломатическим соглашениям и союзам, Европа воевала внутри себя. Пётр Первый на шведов напал сам и с целью захвата земель. Аналогично русско-польские войны — можете называть это возвратом территорий, но Русь снова в агрессорах. Дальше в средние века не пойду, там вообще сложно говорить о государствах в современном понимании.
  • Бинарный поиск в JavaScript. Практический пример
    +5
    И ещё, если мы говорим о производительности, то что в коде делает рекурсия? Итеративный вариант точно будет быстрее, да ещё и от переполнения стека защищён. Тут конечно можно сделать через оптимизацию хвостовой рекурсии, но для этого надо код переписать. Так как есть, ни один компилятор не осилит. Да и не думаю, что хоть один движок js это вообще делает.
  • Бинарный поиск в JavaScript. Практический пример
    +7
    Извините, но пост ужасен. Во-первых, с такими темпами у нас будут статьи «2+2 на JavaScript». Во-вторых, выкладывать код не самого хорошего качества в обучающей статье — плохо.
    Я молчу про однобуквенные переменные с комментом (это же канон плохого коментария, от которого надо избавляться). Но этот код не будет работать с пустым массивом — банально зациклится. Это одна из ошибок новичка, такое студенты на первом курсе пишут и больше такого не делают. Зачем такое публиковать?
    Кроме того, 100 лет как принянто диапазоны делать открытыми справа, то есть не включать правую границу и не писать уродливое data.length -1. В случае пустого получаем -1, а что это за индекс?
    Ну и в качестве придирки. Плохим тоном, хотя и без последствий в js, является вычисление среднего (a+b)/2. Давно придумали писать a + (b-a)/2, чтобы не иметь переполнений. Да, в js всё double и проблем не будет, но ведь потом так напишут на чём-нибудь ближе к железу.
  • Редизайн Хабрахабра и Гиктаймс. Финишная прямая
    0
    Я не один с таким поведением был: https://habrahabr.ru/company/tm/blog/335642/#comment_10362148
    Сейчас шрифты вернулись старые. Претензии к ним снимаются. Но плотность текста из-за интервалов и размера шрифта всё ещё актуальна.