• Генератор неслучайных чисел
    +7
    Зависит от цели. Для криптографии — конечно, но иногда нужно просто получить не слишком предсказуемое число, и желательно быстро, например, в компьютерных играх. В некоторых случаях даже предпочтительно использовать детерминированный источник псевдослучайных чисел — в тех же компьютерных играх при процедурной генерации мира, например.
  • Простой шейдер мультяшной графики в OpenGL своими руками
    0
    А, моя ошибка. Не учел, что в архиве для одной разрядности бинарные файлы для нескольких компиляторов. С CMake у меня таких проблем не было, но не отрицаю, что могут возникнуть.
  • Простой шейдер мультяшной графики в OpenGL своими руками
    0
    Должно. Оригинальные туториалы Learn OpenGL уже портированы на Visual Studio 2019. Возможно, придется повозиться с настройкой проектных файлов, так, например, glfw для Visual Studio придется собирать самостоятельно.
    В целом я рекомендую использовать vcpkg для установки библиотек и cmake для организации проектных файлов, благо Visual Studio 2019 спокойно жует и то, и другое, и на подобных небольших проектах они довольно просты в использовании.
  • Простой шейдер мультяшной графики в OpenGL своими руками
    0
    Если интересен OpenGL, то вот хорошая серия уроков: Learn OpenGL. На первой странице есть оглавление со ссылками на все остальные, и тем довольно много.
  • Простой шейдер мультяшной графики в OpenGL своими руками
    0
    Я вдохновлялся двумерными рисунками «от руки», и часть идеи была именно в том, чтобы вес линий менялся в зависимости от выпуклости объекта на сцене, и можно заметить, что тупые углы (в которых переход небольшой) отображаются светло-голубыми линиями, а сами границы модели (где как раз наибольшая разность «высот») — почти черными.
    Можно такое сделать прорисовкой поверх треугольников? Было бы интересно посмотреть на результат.
  • Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11
    0
    Увы, мое решение на Vulkan показывает низкую производительность (наверняка найдется множество ошибок, которые к этому приводят), и также не отличается красотой кода. Впрочем, последнее исправить проще
  • Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11
    0

    В данном случае невозможно выразить NUMTHREADS через константу, т.к. [numthreads(...)] принимает только литералы. Чтобы эта константа была определена в одном месте (а используется она в шейдере и в вызывающем коде), использовал #define — очень редкая ситуация, в которой можно попытаться оправдать макрос. PARTICLE_COUNT задефайнен для единообразия.
    На счет NULL или nullptr здесь не уверен, вероятно, Вы правы.
    Оценку своего опыта в плюсах давать не рискну, т.к. этот опыт делится на олимпиадные задачи, мелкие проекты по типу приведенного в статье и заброшенные незавершенные проекты (в основном попытки создания игр). Если же интересует именно время — примерно с 2013.

  • Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11
    –1
    __uuidof(...)
    — это расширение компилятора Visual C++, возвращает GUID заданного выражения.
    Вас это смутило?
  • Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11
    +3
    Первая же ссылка в гугле Learn OpenGL

    Я неправильно выразился. Имел ввиду именно статьи, аналогичные этой, где подробно описывается простое применение вычислительного шейдера.
    К тому же LearnOpenGL описывает OpenGL 3.3, а вычислительные шейдеры официально добавлены в спецификацию в OpenGL 4.3
  • Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11
    +4
    Я написал о том API, с которым у меня получилось добиться наибольшей производительности. OpenGL и Vulkan в моей реализации показали фреймрейт на 30% хуже, из чего я сделал вывод, что с ними у меня не получилось разобраться на достаточном уровне.
    К тому же, подробные «пошаговые» статьи про другие API мне также не удалось найти, возможно, их написание ещё имеет смысл (а возможно, плохо искал)
  • Как я 13 лет делал футбольный симулятор
    +1
    В 2013 (мне тогда было 13) пытался делать свою стратегию а-ля Dune II (без рельефа, тумана и изменяемых клеток). Я тогда это делал на Java и Swing. Даже помню, из-за чего прекратил — тогда считал, что для каждой клетки и каждого спрайта обязательно нужно хранить свой экземпляр BufferedImage для отрисовки, программа всегда вылетала из-за нехватки памяти
    Увы, все, что можно было бы восстановить сейчас — 2 спрайта танка, одинаковые и похожие на Sonic Tank артрейдесов, но в разных палитрах: красно-серый и черно-голубой
  • Как я олимпиаду на Java писал или почему лучше не пользоваться Scanner
    0
    Python, но использовать здесь его я побаивался из-за того, что этот язык известен прожорливостью

    А вот это кстати зря. Python действительно очень известен своей прожорливостью и неторопливостью, и поэтому почти во всех наборах тестов (в том числе и на регионе) это учитывается.
  • «Большая четверка» операторов не выполнила требование ФАС об отмене национального роуминга в РФ
    0
    Не согласен с утверждением, что у МТС только 30 ГБ за 800 рублей в месяц. Т.к. сам пишу этот комментарий с безлимитным тарифом (насколько — не проверял, но за июль под 120 ГБ набралось) за те же 800 рублей в месяц. Увы, подсказать название тарифа не смогу, но стоит поискать.
    Возможно, что тут опять зависимость от региона. Т.е. в Лен. Области этот тариф есть, а в вашем регионе нет.

    Однако с самой проблемой согласен, в прошлом году пользовался тарифом, видимо, описанным вами — называется безлимитным, а на деле только 30 ГБ и «турбо-кнопки» по 100 рублей/ГБ
  • О новых успехах противостояния (СР УВЧ!*)
    0
    Но разве дети взрывают бочки не потому что взрыв «красиво нарисован»? Причём взрыв — не самое важное. Я лично постоянно их взрывал именно поэтому. А бот не знает понятий «красиво», «взрыв» и тому подобных.
  • Гейзенбаг, или как Луна портит код
    0
    2 года назад пытался помочь своему однокласснику со школьным заданием по информатике. Суть в том, что при прогоне через отладчик узнали, что в приложениях на PascalABC.NET именно этот комп в качестве результата операции 7 + 1 возвращал 9. Баг больше не воспроизводился никак — исключительно на конкретном компьютере, под конкретным аккаунтом и только в PascalABC.NET, но при этом не зависел от Release/Debug-конфигурации
  • FreeSense: идентификация человека по искажению сигнала беспроводной сети
    0
    Ещё вот интересно на счёт этой системы, как она бы отреагировала, например, на близнецов. Тут сказано только про количество добровольцев, но не про то, насколько они были похожи друг на друга

    Ну и конечно вспоминается анекдот про «заходит тестировщик в бар»
  • Что думают эксперты и пользователи про новый дизайн «ВКонтакте»
    0
    Так я, кажется, так и сказал, что это проблема конкретного приложения, а не всей идеи.
  • Что думают эксперты и пользователи про новый дизайн «ВКонтакте»
    0
    Ну, вы не заметили, для вас и нет в этом ничего полезного, раз у вас быстрый интернет, как вы говорите, позволяет стримить, а места на носителе мало.
    А для меня бы это было неплохой фичей, потому как интернет у меня слабый и не очень стабильный. А размер хранимого кэша может быть и настраиваемым, из чего можно сделать вывод, что это всё-таки наверное проблема приложения, которым вы пользовались, а не самой идеи.

    Всё это слишком сильно зависит от пользователя и от приложения
    И да, я написал, что «специально сделанное приложение может, а браузер общего назначения нет», а не что «это нужно всем», так что гневные комментарии здесь всё-таки ни к чему.
  • Что думают эксперты и пользователи про новый дизайн «ВКонтакте»
    0
    Ну, это, конечно, безусловно, так
    Но все же, если есть возможность снизить нагрузку на систему, то имеет смысл этой возможностью воспользоваться. Ведь всегда найдётся человек, которому это пригодится. Хотя да, сейчас людей, которым пригодилась бы такая оптимизация, очень мало
    Ну, то есть возможность далеко пролистать ленту параллельно с запущенным тяжеловесным приложением была бы достаточно полезна, но, безусловно, слишком малому количеству людей, чтобы забрасывать основной браузерный клиент, и начинать разрабатывать официальное приложение.
  • Что думают эксперты и пользователи про новый дизайн «ВКонтакте»
    0
    У отдельного приложения есть как преимущества, так и недостатки.
    Собственно, основной недостаток вроде как уже назван в вашем комментарии — плагины для браузеров проще и занимают меньше места.
    Из преимуществ отдельного приложения например то, что приложение может (в теории) сохранить скачанные данные на диск, и не загружать одну и ту же запись два раза. Так же приложение может не скачивать разметку, а сгенерировать её уже локально или вообще совсем по-другому (поправьте, если ошибаюсь, но вроде как браузерные клиенты этим двум вещам пока что не научились). Таким образом, приложение может несколько ускорить загрузку той же новостной ленты.

    Хотя, я сейчас, конечно, занимаюсь гонянием сферических коней в вакууме, и вряд ли кто-нибудь станет делать отдельное приложение для персоналок.
  • Что думают эксперты и пользователи про новый дизайн «ВКонтакте»
    –1
    Прошу прощения, неправильно выразился
    Я имел ввиду гарантию того, что программа, например, не ворует пароли
    Ну а так, разве сам браузерный клиент ВК является абсолютно безопасным?

    Хотя, вообще-то говоря, комментарий был написан как шутка. Не знаю, зачем я ляпнул про безопасность
  • Что думают эксперты и пользователи про новый дизайн «ВКонтакте»
    –1
    Идея для стартапа: создать отдельное приложение, которое загружало бы контент ВК, но отображало бы его так, как настроил пользователь. Например, новостная лента — без боковых менюшек, только контент, и контент на всю ширину экрана
    А гарантом безопасности был бы открытый исходный код.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Хм, да, что ж. Действительно, я почему-то не подумал про весьма основные элементы XML — имена тегов и их атрибуты.
    Спасибо, буду знать.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    +1
    Ну, это я просто к тому, что когда-то давно мне казалось, что обратная совместимость между версиями — нечто само собой разумеющееся (именно из-за Java), и я был тогда очень удивлён, что между теми же Microsoft Visual C++ Runtime (который, собственно, всегда висел у меня в системе в нескольких инкарнациях, просто обратил на это внимание я значительно позже) этой самой обратной совместимости нет.
    Сейчас же я не особо удивлён тому, что нет совместимости между версиями .NET

    На счёт XML, да, посмотрел я на пример использования. Действительно, имело смысл сделать несколько проще. Правда, не совсем вижу причины использования сейчас (когда есть более удобные форматы, например JSON) именно XML (за исключением HTML и программ, где XML использовался до появления более удобных форматов). Можете пример задачи, где использование XML является самым удобным решением?
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Да, это всё, безусловно, верно. Рано или поздно новая ОС понадобится.
    А на счёт Vista — тут, насколько я знаю, есть ещё и огромное количество багов. Например, периодически процесс explorer.exe начинает кушать весь CPU (в отсутствие каких-либо действий с моей стороны вообще), в результате чего приходится его убивать и запускать заново. Ну и уже упомянутый мной баг с невозможностью обновления.
    Хотя, официально поддержка продолжится до 11 апреля 2017 (поправьте, если взят неверный источник), я всё же рассчитываю раньше обновить железо и софт.
    Собственно, в принципе, сижу с Vista только потому, что умудрился сжечь основной ноут, так бы, безусловно, этот комп так и пролежал на полке в кладовке.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Что ж, хорошо если так.

    Кстати, есть один момент, который в .NET для меня всё ещё остаётся аргументом против создания приложений на новых версиях, хотя и почти незначимым — это отсутствие официальной поддержки старых ОС в новых версиях .NET.
    Приведу конкретный пример: у меня стоит Windows Vista SP1, официально .NET 4.5.1 не поддерживается. Поставить SP2 по какой-то неизвестной мне причине не удалось (увы, почему сорвалось обновление виста не сообщает), соответственно, последняя доступная мне версия — .NET 4.0.

    Впрочем, это исключительно моя личная проблема, которая не проявит себя у подавляющего большинства людей, у которых почти наверняка стоят актуальные версии ОС.
    К слову сказать, старые ОС не поддерживает не только Microsoft .NET, но также Google Chrome, Python 3 (из того, что я могу сейчас вспомнить), наверняка ещё что-нибудь широко известное.
    На самом деле, я могу себе представить, насколько сложно поддерживать разные версии софта, так что «камнем в сторону Microsoft» (или кого-либо ещё) это не является.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Другое дело, что банально зачем сейчас писать приложение под 3.5?
    Сейчас, наверное, незачем. Но ведь наверняка найдутся приложения, которые написаны когда-то давно, и уже больше не поддерживаются, но при этом захотелось воспользоваться без переписывания кода/перекомпиляции. Собственно, я это имел ввиду.

    Там прописаны зависимости, поэтому да, версия будет выбрана автоматически.
    Это хорошо. Просто у меня были сомнения по этому поводу.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Что ж, да, конечно. Это я не учёл. Просто в той же Java major-версия вроде как до сих пор не изменилась (если посмотреть, то свежая JVM имеет версию 1.8*). Хотя, не знаю, возможно, что несовместимые изменения API и происходили.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Просто мне казалось, что дистрибутив тоже порядком места занимает. По крайней мере в сравнении с небольшими приложениями. Т.е. из прикладных программ, которые могу сейчас вспомнить — PascalABC.NET, где полный дистрибутив — 66 мегабайт, а без .NET — 8 мегабайт.
    Впрочем, ещё остаётся у меня вопрос, а именно: не возникает ли проблема, что пользователь может попытаться запустить программу разными версиями .NET? Или в исполняемом файле прописана версия, на которой он должен запускаться, а виртуальная машина подбирается автоматически?

    Впрочем, да, начал я про сервера и кроссплатформенность, закончил про размер дистрибутива и совместимость между версиями.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Вот то, что между разными major-версиями (в указанном случае — 3.5 SP1 и 4.6.1) нет совместимости, печально. Впрочем, с учётом того, что всё же .NET живёт и процветает, это не является серьёзной проблемой, ведь так?
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    А, да, ещё один вопрос тогда. Как обстоят у .NET дела с совместимостью между версиями? Ведь это же вроде тоже важный момент
    Просто помнится мне один неприятный момент, правда, связан не с .NET, а с Visual C++ Community Edition, что проект, созданный в VS 2013 не открывался в VS 2015.
    К тому же, пользовался несколькими приложениями, написанными на Visual C++, и каждый установщик таких приложений тащил на себе нужную только ему версию MSVC++ (например, «Microsoft Visual C++ 2008 Redistributable — x86 9.0.30729.17», а в другом приложении то же самое, только не 17, а 4974)
    То, что на сайте загрузки .NET (https://www.microsoft.com/net/download) есть разные версии, наводит на мысли, что приложение, созданное, допустим, с .NET 3.5 SP1 не запустится на .NET 4.6.1
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    0
    Хм, что ж. Действительно. Спасибо, не знал
    P.S. О, там даже предоставляется наглядная инструкция по установке на различные ОС. Вообще супер.
  • История языков программирования: что помогло языку Java «войти в каждый дом»
    +1
    Не холивара ради, я совсем не осведомлён в этом плане (профессиональным разработчиком вообще не являюсь), и потому мой комментарий может основываться на неверных данных
    Java же вроде годится и для разработки серверных приложений. Можно ли .NET без заморочек запустить на сервере под управлением чего-то кроме Windows Server? Ведь вроде как на серверах сейчас в большинстве случаев стоят UNIX-like операционные системы. Или Windows Server сейчас достаточно дешёвый, чтобы ставить именно его?
    На счёт серверных приложений не на Java или .NET, они разве не являются менее производительными?
    То есть причин для «смерти» Java по крайней мере в этом секторе я совсем не вижу, и хотелось бы понять, почему это может произойти.
  • Случайно сгенерированное имя для шаблонов Google Docs стало сущим наказанием для реального человека
    0
    Спасибо за разъяснение. Без сарказма, такая ситуация мне вообще не представлялась возможной. В таком случае подглядывающему действительно слишком легко поверить в придуманное им же.
    С другой стороны, ведь Кейси приходили сообщения не только от разгневанных «изменой», но и от людей, считавших, что она взломала их аккаунт. В этом случае всё же можно же хотя бы мельком взглянуть на телефонный номер, e-mail.
    Причём если взять изображение из статьи, то там и текст на латыни, так что ещё более непонятно, как можно было принять его за реальное резюме.

    А заодно возникает вопрос, почему, например, не произошло подобной истории с такими людьми как Luke Fischer (на первой странице шаблона ведь указаны только контактные данные, которые можно принять за реальные, или таковыми являющиеся), или Brianna K. Robins, в образце с именем которой написан текст, который можно принять за реальное резюме (или, опять же, таковым являющийся). Этот список можно продолжать, и возникает вопрос, почему досталось именно Casey Baumer. Ну или почему только о ней пишется в новости.
  • Случайно сгенерированное имя для шаблонов Google Docs стало сущим наказанием для реального человека
    +1
    Почему-то я нахожу странным во всей этой истории то, что люди поленились посмотреть на документ и увидеть, что это просто образец, но не поленились вбивать имя Casey Baumer в поисковик и писать гневные сообщения