Forwarded from саша кремов
Не буду я мерить простоту языка в том, как легко его понять питонисту. В нормальных людях могу, в питонистах не буду.
#amazingopensource #art
Генератор траекторий векторных полей. Генерируется в svg, так что качество не теряется. Разумеется, формулы можно задать свои.
За наводку спасибо @sv9t_channel
https://msurguy.github.io/flow-lines/
Github
Генератор траекторий векторных полей. Генерируется в svg, так что качество не теряется. Разумеется, формулы можно задать свои.
За наводку спасибо @sv9t_channel
https://msurguy.github.io/flow-lines/
Github
🎉1
Блог*
#amazingopensource #art Генератор траекторий векторных полей. Генерируется в svg, так что качество не теряется. Разумеется, формулы можно задать свои. За наводку спасибо @sv9t_channel https://msurguy.github.io/flow-lines/ Github
Понимаю, что без картинок никто смотреть не будет, так что вот вам пример (формулу не подскажу, потерял)
Блог*
Понимаю, что без картинок никто смотреть не будет, так что вот вам пример (формулу не подскажу, потерял)
streamlines1585658874559.svg
82.9 KB
Ну и оригинальный svg, если кому надо
Forwarded from oleg_log (Oleg Kovalov)
Open Access to ACM Digital Library During Coronavirus Pandemic
For the next three months, there will be no fees assessed for accessing or downloading work published by ACM. We hope this will help researchers, practitioners and students maintain access to our publications as well as increasing visibility and awareness of ACM’s journals, proceedings and magazines. Please be sure to inform your colleagues that the ACM DL is now open, and will continue that way through June 30, 2020.
https://www.acm.org/articles/bulletins/2020/march/dl-access-during-covid-19
For the next three months, there will be no fees assessed for accessing or downloading work published by ACM. We hope this will help researchers, practitioners and students maintain access to our publications as well as increasing visibility and awareness of ACM’s journals, proceedings and magazines. Please be sure to inform your colleagues that the ACM DL is now open, and will continue that way through June 30, 2020.
https://www.acm.org/articles/bulletins/2020/march/dl-access-during-covid-19
www.acm.org
Message from ACM Regarding Open Access to ACM Digital Library during Coronavirus
All work published by ACM in the ACM Digital Library will be freely accessible until 6/30/20.
Forwarded from мне не нравится реальность
# методы в трейтах под #[cfg]
Условная компиляция (aka conditional compilation) часто используется в расте, чтобы добавить какой-то функционал только если включена определённая фича. Но есть проблема — в трейтах такое сложно применять т.к. если крейт
Можно использовать дефолтные реализации, но это путь вникуда. Честно. Никаких
Настоящее решение проблемы /которое я подсмотрел в serde/ — сделать макрос который с фичей раскрывается то что ему передали, а без — в ничего.
Чтобы потом пользователи библиотеки могли легко реализовать твой трейт:
#rust #tip
Условная компиляция (aka conditional compilation) часто используется в расте, чтобы добавить какой-то функционал только если включена определённая фича. Но есть проблема — в трейтах такое сложно применять т.к. если крейт
A
реализует твой трейт, но не использует твою фичу, то он отдельно может компилироваться, а с крейтом B
, который использует твою фичу — нет т.к. крейт A
не реализует требуемую функцию. (я вас не запутал?)Можно использовать дефолтные реализации, но это путь вникуда. Честно. Никаких
unimplemented!()
. Пожалуйста.Настоящее решение проблемы /которое я подсмотрел в serde/ — сделать макрос который с фичей раскрывается то что ему передали, а без — в ничего.
#[cfg(feature = "feature")]
#[macro_export]
macro_rules! if_feature {
($($tt:tt)*) => {
$($tt)*
};
}
#[cfg(not(feature = "feature"))]
#[macro_export]
macro_rules! if_feature {
($($tt:tt)*) => {};
}
Чтобы потом пользователи библиотеки могли легко реализовать твой трейт:
impl Trait for Type {
// ...
lib::if_feature! {
fn uses_feature() {
// ...
}
}
}
#rust #tip
#prog #article
Статья о том, как взаимодействие различных фич выливается в уязвимости. Автор, приверженец OpenBSD, предлагает решать проблему отсутствием фич. Радикальный подход, который мне не импонирует, но рассказывает автор убедительно.
flak.tedunangst.com/post/features-are-faults-redux
Статья о том, как взаимодействие различных фич выливается в уязвимости. Автор, приверженец OpenBSD, предлагает решать проблему отсутствием фич. Радикальный подход, который мне не импонирует, но рассказывает автор убедительно.
flak.tedunangst.com/post/features-are-faults-redux
Блог*
#prog #article Статья о том, как взаимодействие различных фич выливается в уязвимости. Автор, приверженец OpenBSD, предлагает решать проблему отсутствием фич. Радикальный подход, который мне не импонирует, но рассказывает автор убедительно. flak.tedun…
#prog #article
В той статье есть ссылка на эту:
Читается на одном дыхании, как неплохой детектив.
daniellesucher.com/2014/04/24/my-new-favorite-vim-tmux-bug/
В той статье есть ссылка на эту:
minimal repro:
On Suffolk (one of our machines), open tmux, open vim, open new terminal tab.
Vim gets “lililililililill” inserted in current file, and beeps a lot
If the file already has content, it prepends i and appends ll to ~10 lines, and sometimes capitalizes something
Читается на одном дыхании, как неплохой детектив.
daniellesucher.com/2014/04/24/my-new-favorite-vim-tmux-bug/
Forwarded from folex
Ну нет. JS – не норм. Всё имеет доступ ко всему. Всё принимает всё, и возвращает всё. Каждый на свой лад оборачивает значения в свои полупрозрачные обертки с прокидыванием методов.
Где что используется понять невозможно. Откуда берутся методы у объектов понять невозможно. У кого есть ссылка на объект понять невозможно. Всё имеет влияние не всё, сайдэффект на сайдэффекте.
Это как глобальные переменные, только они не объявлены в верхнем скоупе, а пролазят из внутренностей кода наружу, и расползаются, метастазируя стейтом.
Где что используется понять невозможно. Откуда берутся методы у объектов понять невозможно. У кого есть ссылка на объект понять невозможно. Всё имеет влияние не всё, сайдэффект на сайдэффекте.
Это как глобальные переменные, только они не объявлены в верхнем скоупе, а пролазят из внутренностей кода наружу, и расползаются, метастазируя стейтом.
#article
@milfgard опять причиняет интерес. На этот раз — разбор деталей карточной игры в "Пиковой даме".
Бы ли б у меня подобные уроки в школе — наверняка куда больше литературу любил.
habr.com/ru/company/tuturu/blog/495110/
@milfgard опять причиняет интерес. На этот раз — разбор деталей карточной игры в "Пиковой даме".
Бы ли б у меня подобные уроки в школе — наверняка куда больше литературу любил.
habr.com/ru/company/tuturu/blog/495110/
Хабр
Что происходит в «Пиковой даме» Пушкина и во что они играют?
Если коротко — Пушкин открыл жанр «киберспортивной фантастики». Только до появления фантастики и киберспорта. Его одно из самых известных произведений — «Пиковая дама» — это рассказ про мегапопулярную...
Предыдущий пин: https://t.iss.one/dereference_pointer_there/378
Telegram
Блог*
#prog #rust #article
Как сделать API, оперирующее глобальным состоянием, которое не даёт возможности использовать себя некорректно. Rust особенно хорош в части предотвращения неправильного использования на этапе компиляции: единственная проверка в рантайме…
Как сделать API, оперирующее глобальным состоянием, которое не даёт возможности использовать себя некорректно. Rust особенно хорош в части предотвращения неправильного использования на этапе компиляции: единственная проверка в рантайме…
#prog #rust
Как хорошо, что rust core team тратит время на по-настоящему важные вещи.
https://github.com/rust-lang/rust/pull/70645
Как хорошо, что rust core team тратит время на по-настоящему важные вещи.
https://github.com/rust-lang/rust/pull/70645
GitHub
Forbid pineapple on pizza by pietroalbini · Pull Request #70645 · rust-lang/rust
This PR adds a new forbid-by-default lint to the Rust compiler, preventing users from writing wildly untasteful types such as Pizza<Pineapple>.
r? @estebank
cc @steveklabnik, what do...
r? @estebank
cc @steveklabnik, what do...