Блог*
Open in Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
Show more1 962
Subscribers
+224 hours
+27 days
-430 days
Posts Archive
1 962
#prog #article
Premature optimization
Good optimization improves the right things, at the right time, and with reasonable trade-offs. <...> Premature optimization is when at least one of the following is true: 1. Changing the wrong thing. <...> 2. Picking the wrong time. <...> 3. Choosing the wrong trade-offs. <...>
1 962
Repost from N/a
Принесла домой кочан айсберга с мыслью сделать что-то вроде цезаря. Вот сижу, ем его с пельменями. Ну в принципе, курица, тесто и соус в наличии, так что...
1 962
Repost from AlexTCH
https://gemini.google/overview/canvas/
The Gemini Canvas landing promises (among other things) to make you interactive (as in "HTML/JS app") quizzes for your studies. Coincidentally I was flipping through an extended lecture notes/lightweight textbook (80+ pages, pretty comprehensive thing), which has many multiple-choice tests for self-assessment. In particular, it has an entry test for pre-course assessment.
So I figured, I'd upload the PDF into Gemini and ask it to make an interactive quiz for the pre-test specifically. And it did!
Though, at first it simply extracted the test from the PDF into a Markdown document, but at least it was the right test, nothing added, nothing subtracted. And after I asked about an interactive app it generated HTML/JS for the quiz which Canvas can show inline.
Funny enough, one of the "correct answers" in the PDF was pointing to the fifth answer for a four-answer question, and Gemini corrected it to the right one. 😁
Yeah, these LLM become not only fun but also useful and usable. 😊
1 962
Imagine telling 2010 devs that in 2025, collapsing a div would require a subscription
(На скриншоте jsfiddle.net, если что. И Pro — это подписка за $8 в месяц)
1 962
#itsec #article
Towards the next generation of XNU memory safety: kalloc_type
Большинство связанных с memory safety уязвимостей основываются на type confusion: одни и те же данные интерпретируются, как значения разных типов, и у злоумышленника обычно есть доступ к одному из этих представлений. Одна из причин, по которой это возможно — use after free, когда новые данные другого типа размещаются по тем же адресам в памяти, что и старые.
Для того, чтобы закрыть этот вектор атаки, можно сделать аллокатор, который никогда не переиспользует одни и те же адреса для значений разных типов. Разработчики Apple, которые работают над ядром iOS, решили именно так и сделать. В полной мере этого достичь не удалось, поскольку полная изоляция адресов по типам вела к слишком большой фрагментации памяти, но итоговое решение значительно затруднило эксплуатацию ошибок, в том числе и за счёт некоторой рандомизации на этапе загрузки.
Текст примечателен ещё и подобным изложением недостатков описанного подхода.
