Трассировщик лучей в 256 строк С++
https://github.com/ssloy/tinyraytracer
Сегодня был мой последний день в Фэйсбуке.
В буквально последнюю неделю таки решили, что пожалуй стоит открыть одну библиотеку которую я там разработал. С грехом пополам, пусть с некоторыми хвостами, но я её вытащил. Вот буквально сегодня.
Короче, если хотите написать какой-нибудь масштабируемый бэкенд сервис, с очень сложным и динамическим состоянием, которое поддерживает сложные внутринние зависимости, эффективное кэширование, с автоматической инвалидацией да ещё всё в много потоков и на Джаве и просто — спросите меня как.
Я где-то через денёк её форкну под своим счётом и, авось, попилю дальше.
https://github.com/facebookexperimental/nuclide-kickable
А чем вы смотрите логи?
Помнится в своё время в Интеле я искал какую-нибудь программку чтоб смотреть логи. А то less конечно ничего, но хотелось бы больше. Хотя бы чтоб он цветасто красил и помогал искать и фильтровать что не надо, но при этом работал бы с большими файлами.
Большинство программ были весьма далеки от идеала и с большими файлами работали просто никак. В конце я определил синтаксический парсер для VIM и на этом успокоился.
Сейчас столкнувшись с подобной-же проблемой нашёл lnav – мелкий, достаточно конфигурабельный, но не слишком.
Причём с довольно крутыми функциями фильтра, понимания timestamps, log levels, modules и тому подобное. Включает даже мелкий экспериментальный SQL engine и позволяет такие интересные фичи как показ гистограмм.
Довольно шустро позволяет определить свой формат файла. Regex-ы наше всё.
А тем временем Гуглы взломали SHA1
https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html
Забавно описано и всё чистая правда:
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.tp4nd0k7l
Вот, подумал, что может кто пропустил и может кому будет интересно.
Серёжа нам не раз упоминал CRISPR и технологии генного редактирования, но когда инструкции редактирования делают ещё и самовоспроизводящимися то это уже начинает пугать.
Все знают, что у Eclipse есть свой компилятор Java. Но думаю не все знают, что он не похоронен невесть где в глубоких недрах дохерамиллионострочкогого кода, а весьма даже находится на поверхности. И даже распространяется отдельным jar-ом.
Так случилось, что мне в последнее время довелось с ним разбираться по работе (мы поддержку Джавы добавляем в наш IDE). Я ещё не всё там разобрал, но первое впечатление очень даже. Все аспекты работы легко настраиваются, что не надо можно легко вытащить. Хочешь только AST? – Пожалуйста. Хочешь полную компиляцию? – Легко! Хочешь ошибки? И это есть. В общем штука крутая.
В кратце о нём рассказывают вот тут (хоть и давно написано): http://blog.deepakazad.com/2010/05/ecj-eclipse-java-compiler.html
А снять собсно бинарники и исходники последней на сей момент версии (4.6) можно отсюда: http://download.eclipse.org/eclipse/downloads/drops4/R-4.6-201606061100/#JDTCORE
Я ещё немного посмотрел на их repo. После всяких нереально активных проектов в сфере веб, этот кажется безжизненной пустыней. Но, с другой стороны, что им ещё там делать. Небось все баги давно отловлены.
http://git.eclipse.org/c/jdt/eclipse.jdt.core.git
А, к слову, сам Eclipse всё больше разочаровывает. По крайней мере на Маке последней версией просто нереально пользоваться. Виснет, куча ошибок летает, сочетания клавиш просто перестают работать. И это официальный build без всяких сторонних плагинов! Мрак.
Результаты какого-то опроса по вебовым фронтендовым библиотекам. Что предпочитают разработчики.
Кто есть автор сильно не копал, так что верить ли – на собственное усмотрение, но любопытно.
https://medium.com/@sachagreif/the-state-of-javascript-front-end-frameworks-1a2d8a61510#.et4s2py0c
Про что есть просто а что легко. Местами несколько водянисто.
https://www.infoq.com/presentations/Simple-Made-Easy
И вдогонку предыдущему. Про то как внутренний state обуздать.
Мы тут потихоньку переходим на то чтобы юзать http://redux.js.org/ с некоторыми навешаными финтиплюшками для асинхронности, вроде http://redux-observable.js.org/
Как и с Observables требуется некоторое время чтобы принять идеи, но потом никакие race-ы больше не страшны.