Динамика экосистемы, которая может способствовать или препятствовать вторжению ( quantamagazine.org )
Source: news.ycombinator.com
Изучите Makefiles ( makefiletutorial.com )
Интересными моментами являются, например, флаг -MMD для gcc, который выводит файл .d, в который вы можете включить ${wildcard *.d}, и вы получите бесплатные, актуальные зависимости для ваших заголовков и т. д.
Это и «vpath», чтобы указать, где найти исходные файлы для % правил, и, по сути, вся тяжелая работа сделана, и ваш Makefile размером в 1/2 страницы останется прежним «навсегда» и будет работать через 20 лет…
В основном считается слишком сложным, если не невозможным, статически определить зависимости цели. Теперь это делается динамически с помощью инструментов типа `clang-scan-deps` [2]
[1] https://cmake.org/cmake/help/latest/manual/cmake-cxxmodules….
[2] https://llvm.org/devmtg/2019-04/slides/TechTalk-Lorenz-clang…
Синхронизация вывода, которая заставляет `make` печатать stdout/stderr только после завершения цели. В противном случае это обычно чередуется и трудно отследить:
make –output-sync=recurse -j10 В загруженных / многопользовательских системах флаг `-j` для заданий может быть не лучшим. Вместо этого вы также можете ограничить параллелизм на основе средней нагрузки:
make -j10 –load-average=10 Рандомизация порядка, в котором планируются цели. Это полезно для вашей CI, чтобы укрепить ваши Makefiles и посмотреть, не пропустили ли вы зависимости между целями:
сделать –shuffle # или –shuffle=seed/reverse
Но не переносимые. Пожалуйста, не используйте их за пределами ваших собственных нераспространяемых игрушечных проектов.
Makefiles — это жуткие lisp-подобные тюринговые тарпиты. GNU Make даже имеет возможности метапрограммирования, и он вездесущ. Противостоять желанию метапрограммировать какую-нибудь нечестивую систему внутри makefile может быть сложно.
Source: news.ycombinator.com
Шимпанзе зевают, наблюдая за зеванием андроида ( nature.com )
Source: news.ycombinator.com
JavaScript сломал Интернет (и назвал это прогрессом) ( jonoalderson.com )
Экосистема JS похожа на любую технологическую экосистему: со временем все меняется, но вам не нужно гнаться за тенденциями, будьте прагматичны в том, чему вы следуете, и поверьте мне, ваша жизнь будет золотой.
«Сайты, использующие JS, ужасны и неработоспособны».
«Ваш сайт использует массу JS».
«В моем случае с JS все в порядке. Это все остальные сайты сломаны!»
Вы можете реализовать капчу без JS. Вам не нужны jQuery или jQuery-migrate в 2025 году. Сайт использует Quill для некоторых типографских настроек, которые в основном можно было бы сделать в CSS.
FWIW Я не думаю, что есть что-то неправильное в том, как построен сайт. Он выглядит хорошо. Он загружается довольно быстро. JS великолепен — он обеспечивает кучу возможностей для вещей, которые вы не можете сделать на веб-странице без него, и если вы ищете что-то очень специфичное или чрезвычайно интерактивное, он необходим. Но я могу привести этот аргумент, потому что я не говорю, что JS плох. Если вы говорите, что JS плох, и все равно используете его для вещей, которые вам на самом деле не нужны, вы довольно сильно подрываете свою собственную точку зрения.
Мы начали создавать сайты для отдела маркетинга, а не для разработчиков или пользователей.
Не уверен в этом, я бы в любом случае выбрал Gmail и Fastmail вместо Outlook и Evolution.
Ничто из этого не является виной Javascript, это вина людей, которые их создают. Я почти уверен, что в альтернативной вселенной без JS мы бы увидели те же статьи, но об ужасном пользовательском опыте полных HTML или нативных приложений.
Если вы хотите изолировать себя от такой массы глупостей, то используйте PiHole в своей домашней сети и прекратите работать с JavaScript. Это работает для меня, как для человека с 15-летним опытом написания JavaScript.
https://blog.mecheye.net/2017/09/i-dont-know-who-the-web-aud…
…и не заставляйте меня начинать о 'тривиальных' вещах, таких как копирование-вставка, полноэкранный режим, обработка ввода и доступ к файловой системе. Это все не проблемы языка программирования, а проблемы проектирования API.
…например, Интернет мог бы быть намного больше, если бы не было этого раскола между «ортодоксами просмотра документов» и «протестантами платформ приложений» 😉
Source: news.ycombinator.com
Разрушить крупные технологические компании: Декларация гражданского общества – Люди против крупных технологических компаний ( peoplevsbig.tech )
А лекарством часто становятся карманные деньги.
В отношении Microsoft Windows антимонопольные органы и суды ничего не предприняли.
Apple, компания, которая действительно хочет все контролировать, даже не упомянута
Социальные медиа — это большие технологии, где все общаются, что является гораздо большей и гораздо более разрушительной проблемой. Буквально некоторые люди общаются только через одного поставщика без какой-либо совместимости.
Source: news.ycombinator.com
Показать HN: Sexprs – диалект Lisp, написанный на Rust ( github.com/gabrielfalcao )
шутка, но, возможно, стоит пересмотреть название, чтобы избежать фильтров ключевых слов, которые могут помешать широкой осведомленности о проекте
Source: news.ycombinator.com